【发布时间】:2020-06-16 07:52:07
【问题描述】:
我有两个单独的组件,即 Header 和 Modal。 Navbar 中有一个附加了 onClick 功能的按钮。通过单击它,状态会发生变化,因此状态会作为道具传递给模态,然后触发它。然后状态再次设置为假。但是,如果我再次单击该按钮,则不会出现模式。即使使用 useEffects,我也尝试了许多不同的方法,但没有任何效果。
标题代码
const Header = () => {
const [modal, setModal] = useState(false)
return(
<div>
{modal ? <ModalProduct showModal={true} /> : null}
<ul class="nav navbar-nav ml-auto">
<li><Button variant="danger" style={{ marginTop: '8px' }} onClick={() => setModal(true)}>Add
new product</Button></li></ul>)
</div>)
对于我拥有的模态组件
export default function ModalProduct(props) {
const [show, setShow] = useState(props.showModal);
const handleClose = () =>
setShow(false);
return (
< div >
<Modal show={show} onHide={handleClose}>
...
</Modal>
</div >
);
}
与钩子有关,它在第一次弹出模式时变为真,然后变为假,但随后不再变为真。
【问题讨论】:
标签: javascript reactjs