我目前正在 React 上构建一个俄罗斯方块游戏,只是为了练习钩子(过去用于在类组件中开发,有点离开 React 一段时间,昨天我决定再次使用它)。
游戏运行良好,并且在每种情况下都按预期运行,但是,在 useEffect 中使用函数而不是依赖项时,会不断出现警告。
澄清一下 - 我有一个 useEffect 函数,它所做的只是调用一个 updateFunction 并且仅依赖于移动俄罗斯方块块的 x 和 y 坐标。每当形状的位置发生变化时,更新功能都会更新电路板的状态。
我知道 React 会在每个渲染上重新创建函数,但是给更新函数一个 useCallback 会导致它被无休止地重新创建(那时,编译器会要求我让它依赖于板状态,因此每次更新板子时,都会被迫重新创建一次),这会导致渲染的无限循环。
是否真的有必要将每个函数作为依赖项放在 useEffect 中,即使这些函数只会导致视觉渲染来显示游戏的当前状态?