Mac*_*ira 1 ref memo reactjs react-hooks
使用这样的模式是否安全:
const appLoaders = useMemo(() => React.createRef(), [])
Run Code Online (Sandbox Code Playgroud)
问题是我在 useEffect 中使用了这个 ref 并且在依赖数组(exhaustive-deps)中需要它。上面的模式可以解决问题,一切似乎都有效 - 没有备忘录,当我将 ref 放入依赖项数组时,应用程序处于不断重新渲染状态。
我只是想知道在某些情况下是否有一些“陷阱”会让我感到惊讶。
没有看到您的版本有任何问题,但是
const appLoaders = useRef();
Run Code Online (Sandbox Code Playgroud)
看起来更短并且完全相同(重新渲染之间的引用相等,我们设置初始值,更改值不会导致重新渲染)。
PS实际上useRef
不是替代品React.createRef
(它们具有不同的目的但名称相似,有时人们会误解/误用),所以不要被相似性混淆。
但在这种特殊情况下,它们绝对可以互换
归档时间: |
|
查看次数: |
508 次 |
最近记录: |