如何仅在模态加载时获取数据

nin*_*nja 7 reactjs react-redux react-modal react-hooks

我有一个反应组件,比方说:app.js(父组件),它有一个子组件,它呈现反应引导模式组件。父组件使用 React hook 从 redux 获取数据,如下所示:

  useEffect(() => { props.dispatch(actions.loadAll());},[]);
Run Code Online (Sandbox Code Playgroud)

然后数据被传递以显示在我的模态组件中。我正在使用“show”和“onShow”状态处理模式可见性。无论如何,我可以避免在父组件中加载数据,并且仅在模态组件加载并显示数据之后才加载吗?任何建议,将不胜感激。

s.h*_*sam 5

您可以useEffect根据您的状态使用钩子show

useEffect(() => { props.dispatch(actions.loadAll());},[show]);
Run Code Online (Sandbox Code Playgroud)

show当状态改变时使用这段代码,useEffect运行。因此,当您的模式打开时,您的数据就会被加载。