在official React docs和所有示例中,我看到useRef
的用法如下:
const ref = useRef(null);
我发现它无需传递任何参数即可工作。显式传递null
的目的是什么?
答案 0 :(得分:0)
"null" 是 ref.current
如果你不传递任何参数,
ref.current=undefined
检查源代码:
function useRef<T = undefined>(): MutableRefObject<T | undefined>;
如果不传递arg,默认值设置为undefined
避免使用 undefined 因为 undefined 不能序列化。
答案 1 :(得分:-1)
useRef
挂钩是一个返回可变ref
对象的函数,该对象的.current属性已初始化为所传递的参数(initialValue)。返回的对象将在组件的整个生命周期中保持不变。
但是,在函数返回并呈现内容之前,不会设置ref
。
因此,将ref声明为null
,因为未在屏幕上加载或渲染任何组件,并且在渲染会出错之前声明值。