我很难处理这个错误.

Touchable child setNativeProps error

我不明白为什么?我有一个子组件没有使用自定义组件.我将TextImageIcon包装在View组件中,然后将它们包装在TouchableHighlight中,在特定页面上仍然得到错误,但在其他做相同事情的页面上没有.

    <TouchableHighlight
      onPress={this.changeTo} style={PictureStyles.btnClickContain}
      underlayColor='#042417'>
      <View
        style={PictureStyles.btnContainer}>
        <Icon
          name='fontawesome|calendar'
          size={25}
          color='#042'
          style={PictureStyles.btnIcon}/>
        <Text style={PictureStyles.btnText}>Book</Text>
      </View>
    </TouchableHighlight>

推荐答案

我按照文档中的说明,将setNativeProps转发给一个子元素,从而修复了我应用程序中的类似错误.从文件中:

我们需要做的就是在我们的组件上提供一个setNativeProps方法,用给定的参数在适当的子级上调用setNativeProps.

下面是你的代码更新与我的工作相同的变化.我也用了react-native-icons,因为看起来你也是.

唯一的变化是setNativeProps方法和使用ref callback syntaxView上创建ref

var MyComponent = React.createClass({
  setNativeProps (nativeProps) {
    this._root.setNativeProps(nativeProps);
  }

  render () {
    return (
      <TouchableHighlight
        onPress={this.changeTo} style={PictureStyles.btnClickContain}
        underlayColor='#042417'>
        <View
          ref={component => this._root = component}
          style={PictureStyles.btnContainer}>
          <Icon
            name='fontawesome|calendar'
            size={25}
            color='#042'
            style={PictureStyles.btnIcon}/>
          <Text style={PictureStyles.btnText}>Book</Text>
        </View>
      </TouchableHighlight>
    );
  }
})

React-native相关问答推荐

react 本机 TextInput 将其他元素移出屏幕

如何将 react-native 图像从 expo-image-picker 上传到使用 multer 的 Express.js 后端

如何在 react-native 中刷新 Flatlist 数据?

如何修复 React Native 中任务:app:processDebugManifest的执行失败?

Jest 遇到了带有 react-native 的意外令牌

使用 React Native 下载数据文件以供离线使用

TextInput 防止 ScrollView 滚动

React Native - 当位置在Android上是绝对时视图消失

React Redux 使用带有连接组件的 HOC

ReactNative FlatList 一次渲染所有元素?

在 React Native 中仅显示第一行文本

React Native:无法点击调试菜单

java.lang.ClassNotFoundException:在路径上找不到类.MainActivity:DexPathList react-native

如何在 Text ReactNative 中包含 TouchableOpacity

如何在 React Native 上获取设备的 ip?

在 React-Native 中手动设置 opacity 的 onPress of TouchableOpacity 的音量

如何在 React Native 中重复图案图像以创建背景?

react-native构建错误:package android.support.annotation does not exist

React Native 项目,有时使用 expo start 获得连接 ECONNREFUSED 127.0.0.1:19001

React Native 构建命令失败:PhaseScriptExecution ... (domain=NSPOSIXErrorDomain, code=2)