【发布时间】:2021-06-12 10:30:30
【问题描述】:
也许我对反应流的理解有误,但有人可以解释一下这个魔法:)
为什么我必须通过 React 中的 useEffect 挂钩更新内部状态?
我以为组件更新会触发重写useState钩子的初始状态。
const [list, setList] = useState<TabItem[]>(tabs);
useEffect(() => {
setList(tabs);
}, [tabs]);
【问题讨论】:
-
什么是“内在状态”?初始状态仅在状态实例化时被引用一次,与其他所有内容分开。此示例中的
useEffect将在 状态被实例化并渲染出组件之后运行,并且您不需要useEffect挂钩来更新状态,您可以在任何地方调用状态更新程序。你的问题不是很清楚。也许您可以包含一个更全面的代码示例?
标签: reactjs react-hooks