首页 > 解决方案 > React:如何将状态传递给子组件并在子组件中调用函数以使用此状态

问题描述

我正在功能组件中实现一个组件,其中有几个其他子组件相互传递数据。我需要将数据从父组件传递到子组件并在那里调用一些函数来使用它。在类组件中,我们使用componentdidupdate,但无法理解如何在功能组件中执行。

一种想法是使用useEffect钩子,但无法使用它。

标签: reactjsreact-nativereact-hooks

解决方案


您可以使用useEffect来重现这样的行为componentdidupdate

const [myState,setMyState] = useState();
useEffect(() => {
   ...
},[myState]);

每次运行的功能使用效果都会myState更新,就像componentdiduptate会做的那样。

在您的情况下,如果我理解良好,状态是由父组件给出的,所以只需将myState数组依赖项替换为通过子组件的 prop 给出的状态。


推荐阅读