Hooks中useEffect内的ReactJS功能组件道具问题

时间:2020-04-27 09:35:29

标签: reactjs ecmascript-6 react-hooks

我将一个功能组件作为一个带有父母道具的孩子使用。在道具中,我有一个value数组,在其中,我在useEffect中变得为空([]),并在一段时间后在UI中呈现了相同的内容。我正在使用useEffect调用一个函数,并仅按如下所示设置状态一次,我希望它像那样。这里value是道具,checkEmpty是我正在检查并设置状态completed的功能。 value数组填充后,是否有任何方法可以在useEffect内部调用该函数。但是我希望useEffect仅被调用一次,并且需要更改状态completed而不会使其陷入无限循环。

 useEffect(() => {
        checkEmpty(value)?setCompleted(false):setCompleted(true)
      }, [])

1 个答案:

答案 0 :(得分:0)

您可以将value作为useEffect的依赖项来传递,并且该挂钩仅在更改value时运行。

useEffect(() => {
  checkEmpty(value) ? setCompleted(false) : setCompleted(true);
}, [value])