有啥方法可以在 React Native 中使用 ref 获取 TextInput 的文本值?

Posted

技术标签:

【中文标题】有啥方法可以在 React Native 中使用 ref 获取 TextInput 的文本值?【英文标题】:Is there a any way to get the text value of the TextInput using ref in react native?有什么方法可以在 React Native 中使用 ref 获取 TextInput 的文本值? 【发布时间】:2020-09-04 01:29:36 【问题描述】:

我正在使用 onChangeText 事件和状态获取 TextInput 的文本。

      <View style=styles.inputContainerStyle>
        <TextInput
          autoFoucs=true
          ref=inputRef
          style=styles.textInputStyle
          placeholder="type here ..."
          placeholderTextColor='#838389'
          multiline
          underlineColorandroid="transparent"
          onChangeText=text => handleTextChange(text)
          value=selectedText
        />
        <TouchableOpacity style=styles.submitBtnWrapperStyle onPress=() => handleMsgSend()>
          <Icon name=msgEditMode ? "check" : "paper-plane" size=20 color="#ffffff" />
        </TouchableOpacity>
      </View>

...

// handle text change on textinput
  const handleTextChange = text => 
    channel && channel.typing();
    setSelectedText(text);
  

但实际上每当文本改变时,渲染函数也会因为状态值的改变而被调用,这使得整个屏幕变得更慢。

所以我正在寻找不使用onChangeText 事件来获取文本的替代方法。

有没有使用 ref 获取文本的本地方法?

希望有帮助。

谢谢...

【问题讨论】:

那么你打算在按下父级按钮时从文本输入中获取值吗? 【参考方案1】:

是的,您可以像这样使用 ref 访问文本输入的值

this.inputRef._lastNativeText

【讨论】:

以上是关于有啥方法可以在 React Native 中使用 ref 获取 TextInput 的文本值?的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以在 react-native-webview 中禁用 hapticFeedback

有啥方法可以使用 React-Native 在我的手机中使用第三方视频播放器播放视频?

有啥方法可以将 firebase 分析集成到 expo react-native 应用程序中而无需分离?

有啥方法可以将从 APISAUCE API 收到的响应存储到异步存储中作为缓存并在 React Native 的平面列表中显示

有啥办法可以防止 React Native IOS 0.63 版中的截图?

这些 React Native 启动命令有啥区别?