如何在 React Native 中为 useRef 钩子设置 Typescript 类型?

Posted

技术标签:

【中文标题】如何在 React Native 中为 useRef 钩子设置 Typescript 类型?【英文标题】:How do you set the Typescript type for useRef hook in React Native? 【发布时间】:2020-04-08 13:21:10 【问题描述】:

如何正确键入 React Native TextInput 的 useRef? 使用下面的代码,我得到以下错误。

Property 'isFocused' does not exist on type 'MutableRefObject<TextInput>'

import React,  useRef  from 'react';
import  TextInput  from 'react-native';

const TestScreen = () => 

  const searchInputRef = useRef<TextInput>();

  const updateSearchText = (searchText: string) => 
    console.log(searchTextRef.isFocused()); //  ???? Error here.
  ;

  return (
    <TextInput
      ref=searchInputRef
      placeholder="Search"
      onChangeText=(text: string) => updateSearchText(text)
      autoCorrect=false
      autoCapitalize="none"
      value=searchText
    />
  )


【问题讨论】:

【参考方案1】:

应该是

 const updateSearchText = (searchText: string) => 
    console.log(searchInputRef.current.isFocused());
  ;

【讨论】:

嗯...这有点尴尬。 ? 谢谢!

以上是关于如何在 React Native 中为 useRef 钩子设置 Typescript 类型?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 react-native 中为特定组件传递样式道具

如何在 React Native 中为 useRef 钩子设置 Typescript 类型?

如何在 React Native 中为 API 请求创建进度条?

如何在 React Native 中为 TextInput 设置 lineHeight 样式?

如何在 Visual Studio Code 中为 React Native 设置调试?

当您不知道内容的大小时,如何在 react native 中为高度设置动画?