Javascript 我写Input.js的方式是否是我存在不变冲突的原因:对象作为子错误无效?

Javascript 我写Input.js的方式是否是我存在不变冲突的原因:对象作为子错误无效?,javascript,react-native,components,expo,Javascript,React Native,Components,Expo,我有一个错误,上面写着:不变冲突:对象作为React子对象无效。错误并没有确切说明是哪个组件生成了它,但从错误的描述来看,它似乎在抱怨渲染对象而不是组件的情况。我似乎在例如my Input.js中看到了这种行为,它呈现: const Input = (props, context) => { const styles = getStyles(props, context); return ( <View style={styles.container}>

我有一个错误,上面写着:不变冲突:对象作为React子对象无效。错误并没有确切说明是哪个组件生成了它,但从错误的描述来看,它似乎在抱怨渲染对象而不是组件的情况。我似乎在例如my Input.js中看到了这种行为,它呈现:

const Input = (props, context) => {
  const styles = getStyles(props, context);

  return (
    <View style={styles.container}>
      {props.label &&
         <Text style={[styles.label].concat([props.error ? styles.error : 
 {}])}>
          {props.label}
         </Text>}

  {props.icon &&
    <View style={styles.iconContainer}>
      {props.icon}
    </View>}

      <TextInput
        editable={props.editable}
        value={props.value}
        onChangeText={props.onChangeText}
        onFocus={props.onFocus}
        style={[styles.input].concat([props.error ? styles.error : []])}
        underlineColorAndroid="rgba(0,0,0,0)"
        autoCorrect={false}
        placeholder={props.placeholder}
        placeholderTextColor={props.placeholderTextColor}
        secureTextEntry={props.secureTextEntry}
        multiline={props.multiline}
        numberOfLines={props.numberOfLines}
        fontStyle={props.fontStyle}
      />

      {props.error &&
        <Text style={styles.errorMessage}>
          {props.error}
        </Text>}
    </View>
  );
};
如何重写这些,使不变冲突错误不再存在

以下是错误的附加图像:

尝试将
{props.icon}
包装到文本组件中的视图组件内部,并在要呈现值时调用
.toString()
打开
{props.error.toString()}
{props.icon.toString()}
更多信息,您能告诉我在这种情况下如何编写吗?因为仅仅添加toString()并不能解决我的问题:图标、错误和标签是什么类型的数据?问题是我不知道从哪一行代码或文件中查找它。我的应用程序很大。你知道吗?如果我最近引入了一个破坏代码的变更,那么我会有一个想法。但不是,这只是升级了expo客户端应用程序。我已经在这上面呆了5天多了。谢谢你的帮助。有没有关于如何调试并找出代码的哪个文件或行的想法?@ztadic91图标是react native material ui中的一个组件,错误是object literalstry的一个对象,它将
{props.Icon}
包装在文本组件中的视图组件内部,并在要呈现值时调用
.toString()
{props.error.toString()}
{props.icon.toString()}
更多信息,您能告诉我在这种情况下如何编写吗?因为仅仅添加toString()并不能解决我的问题:图标、错误和标签是什么类型的数据?问题是我不知道从哪一行代码或文件中查找它。我的应用程序很大。你知道吗?如果我最近引入了一个破坏代码的变更,那么我会有一个想法。但不是,这只是升级了expo客户端应用程序。我已经在这上面呆了5天多了。谢谢你的帮助。您知道如何调试此代码并找出要查看的代码文件或代码行吗?@ztadic91图标是来自react native material ui的组件,错误是对象文字的对象
//props.error is true
// or if props.icon is true