类型 'MutableRefObject<ForwardRefExoticComponent<TextInputProps & RefAttributes<TextInput>> | null>' 不可分配给类型 'Ref<TextInput> |未定义

在 React Native 中将 ref 传递给 <TextInput> 时出现以下错误:

类型 'MutableRefObject<ForwardRefExoticComponent<TextInputProps & RefAttributes> | null>' 不能分配给类型 'Ref |不明确的'。类型 'MutableRefObject<ForwardRefExoticComponent<TextInputProps & RefAttributes> | null>' 不可分配给类型 'RefObject'。属性“当前”的类型不兼容。输入'ForwardRefExoticComponent<TextInputProps & RefAttributes> | null' 不可分配给类型 'TextInput |无效的'。类型 'ForwardRefExoticComponent<TextInputProps & RefAttributes>' 缺少类型 'TextInput' 的以下属性:isFocused、clear、measure、measureInWindow 和 19 more.ts(2322) index.d.ts(140, 9):预期类型来自在类型“IntrinsicAttributes & TextInputProps & RefAttributes”上声明的属性“ref”

这是我的代码:

    const useInputRef = () => useRef<typeof TextInput | null>(null);
    const inputRefs = Array.from({ length: numberOfInputs }, useInputRef);
...
            <TextInput
                ref={inputRefs[index]} // error here    

如何将 ref 传递给 TextInput 而不会出错?

stack overflow Type 'MutableRefObject<ForwardRefExoticComponent<TextInputProps & RefAttributes<TextInput>> | null>' is not assignable to type 'Ref<TextInput> | undef
原文答案

答案:

作者头像

通过替换 useInputRef 解决:

const useInputRef: InputRefType = () => useRef(null);

接着

export type InputRefType = () => React.MutableRefObject<TextInputRefType | null>;

export type TextInputRefType = TextInput;

相关问题