英文:
T | null overload for useRef in React
问题
在React类型定义中,useRef
对于T|null
和T
有函数重载:
function useRef<T>(initialValue: T): MutableRefObject<T>;
// 用于以ref属性形式传递的便捷重载,因为它们通常以null值开始
/**
* ...
*
* 用法说明:如果需要使useRef的结果直接可变,请在泛型参数的类型中包括`| null`。
*
* ...
*/
function useRef<T>(initialValue: T|null): RefObject<T>;
如果我使用<T|null>
声明useRef
,它会使用第一个返回MutableRefObject<T>
的useRef
,而使用<T>
声明时,它会使用第二个。
为什么函数重载会这样工作?
当使用T|null
声明时,它使用<T>函数,而在使用T
声明时,它使用<T|null>
函数。
英文:
In React type definition, useRef
has function overloading for T|null
and T
:
function useRef<T>(initialValue: T): MutableRefObject<T>;
// convenience overload for refs given as a ref prop as they typically start with a null value
/**
* ...
*
* Usage note: if you need the result of useRef to be directly mutable, include `| null` in the type
* of the generic argument.
*
* ...
*/
function useRef<T>(initialValue: T|null): RefObject<T>;
If I declare useRef
with <T|null>
, it uses first useRef
that returns MutableRefObject<T>
and when declare with <T>
, it uses second one.
Why does this function overloading work like this?
When declaring with T|null
, it use <T> function, and on declaring with T
, it uses <T|null>
function.
答案1
得分: 1
你可以查看 Typing React UseRef Hook 以获取更多详细信息。
英文:
You can check out Typing React UseRef Hook for more details.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论