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