我有一个父组件,带有一个useEffect
,它调用api,接收一些数据,然后设置几个钩子状态和一个redux状态。这会触发持有此useEffect
的组件的各种重新呈现,但该组件具有使用useEffect的子组件,而childs的useEffect也会多次触发。我怎样才能解决这个问题?
发布于 2022-04-23 06:39:33
如果您只想限制子组件内部useEffect的触发,那么您可以做的是给子组件的钩子提供一些依赖关系:
useEffect(() => {
// logic
}, [props.test, otherProp, ...]);
通过这样做,只有当数组中的依赖项发生变化时,useEffect才会被触发。另外,如果您将一个比useEffect更空的数组作为依赖项,那么在组件挂载之后只会触发一次。
https://stackoverflow.com/questions/71980513
复制相似问题