getInitialState给出了一个错误"对象作为React子句无效"

时间:2016-08-31 03:20:35

标签: javascript react-native

刚刚开始学习React native并且一直在使用Udemy来解决问题,这个错误令我难过。我按照教程写了这封信。

getInitialState:function(){
  return {
    timeElapsed:null
  }
},

render:function(){
  return (
    <View style={styles.container}>
      <View style ={[styles.header,this.border('yellow')]}>
        <View style={[styles.timerWrapper,this.border('red')]}>
          <Text>
            {this.state.timeElapsed}
          </Text>
        </View>
        <View style={[styles.buttonWrapper,this.border('green')]}> 
          {this.startStopButton()}
          {this.lapButton()}
        </View>
      </View>
      <View style={[styles.footer, this.border('blue')]}>
        <Text>
          I am a list of laps 
        </Text>
      </View>
    </View>
  );
},

startStopButton: function(){
  return (
    <TouchableHighlight underlayColor="green"
      onPress={this.handleStartPress}>
      <Text>
        Starts
      </Text>
    </TouchableHighlight>
  );
}

错误消息指出我正在尝试从getInitialState函数返回多个对象。从我在网上找到的例子来看,这似乎是正确的格式。我在这里错过了什么。

整个错误消息是:对象作为React子节点无效。如果您要渲染子集合,请使用数组或使用createFragment包装对象。

1 个答案:

答案 0 :(得分:0)

我认为下面的代码导致错误,this.state.timeElapsed必须是React-Node。您可以在timeElapsed中返回一个javascript对象,例如Date instance。

<Text>
  {this.state.timeElapsed}
</Text>

如果您不确定什么是React-Node,您可以阅读有关该here的官方文档。