【问题标题】:Can we pass null as first value in useRef, React JS?我们可以在 useRef、React JS 中将 null 作为第一个值传递吗?
【发布时间】:2021-08-27 07:51:10
【问题描述】:

我对此有点困惑!如果我们在 useRef 中传递或不传递 null 作为初始参数,有什么区别吗?就像我们在 React Js 的功能组件中创建状态一样,我们将 null 作为第一个值传递,然后我们更新它!如果我们也像这样在 useRef 中传递 null 会怎样

const ref = useRef();

或者

const ref = useRef(null);

两个都对吗?

【问题讨论】:

    标签: reactjs react-hooks


    【解决方案1】:

    两者都是正确的,但含义不同。

    const ref = useRef();
    

    是(因为未传递的参数是undefined)和

    const ref = useRef(undefined);
    

    所以 ref 的初始值为undefined,而与

    const ref = useRef(null);
    

    初始值为null。

    【讨论】:

    • 就像 useState 一样?
    • 是的——同样的原则。如果不传入值,则隐含值为undefined。
    【解决方案2】:

    React 官方文档中 useRef 钩子的定义是:

    useRef 返回一个可变的 ref 对象,其 .current 属性为 初始化为传递的参数(initialValue)。

    当你什么都不传递时,即useRef();,分配给参数的值将是未定义的,因此返回的值将是:

    {current: undefined}
    

    但是,useRef(null); 会返回

    {current: null}
    

    【讨论】:

    • 知道了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多