如何从父级打开模态引导程序并自行关闭



我想用props从父组件打开一个模态,然后在完成所有操作后关闭它,并通知父组件,以防他想再次打开。

const ModalChild = (props) => {
const [Activate, setActivate] = useState(props.Activate);
const toggle = () => setActivate(!Activate);

useEffect(() => {
setActivate(props.Activate)
}
}, []);

<Modal isOpen={Activate} toggle={false} >
<text>hello {props.hey}<text>
</Modal>
}

和父组件,类似于这样:

const Accountlist= () => {
const [Activate, setActivate] = useState(false);
const toggle = (value) => {
setActivate(true)
}

render(
<button onClick={() => toggle(value)} />
<ModalEdit props={Activate}/>
)}

拜托,有人知道吗?

如果是我,我会这样做。

const Accountlist= () => {
const [activate, setActivate] = useState(false);
const toggleActivate = (value) => {
setActivate(value);
}
return [
<button onClick={() => toggleActivate(!activate)} />,
<ModalEdit isActivated={activate} toggleActivate={toggleActivate} />
]}

以及子组件。

const ModalChild = ({ isActivated, toggleActivate }) => {

useEffect(() => {
toggleActivate(!isActivated);
}, []);

<Modal isOpen={isActivated} toggle={() => toggleActivate(false)} >
<text>hello {props.hey}<text>
</Modal>
}

我不确定你想做什么,但剩下的逻辑我交给你。

最新更新