React hooks 使用Memo,false 作为依赖项



最近我遇到了一些奇怪的useMemo钩子用法:

const memo = useMemo(callback, false);

作为第二个参数,传递 false 而不是依赖关系。

这是有效的代码吗?React 文档指出依赖关系应该是一个数组。使用假的目的是什么?

这是一个有效的代码吗?

这取决于你的意思valid.

  • 语法正确:(JavaScript,Typescript(
  • 工具允许:(ESLINT、Flow 、TypeScript(

它是对 React API 的有效调用吗?没有

虽然此代码今天有效,但文档中未提及false作为依赖项列表传递,并且行为可能会在任何未来的 react 版本中更改。

总之:将您的代码更新为useMemo(callback, []).

实际上我已经分析了反应协调器,结果发现上面的代码等效于这个:

const memo = useMemo(callback, []);

这是因为javascript的怪癖,其中:

false.length = undefined;
false[1] = undefined;

因此:

undefined === undefined // true

相关内容

  • 没有找到相关文章

最新更新