web-dev-qa-db-fra.com

Les objets ne sont pas valides en tant qu'enfant de React

Je reçois une erreur ci-dessous. Je peux voir que je dois retourner un tableau au lieu d'un objet. Mais je ne sais vraiment pas comment y remédier. Merci d'avance

Les objets ne sont pas valides en tant qu'enfant de React. Si vous vouliez rendre un collection d'enfants, utilisez plutôt un tableau ou enveloppez l'objet à l'aide de createFragment (objet) à partir des add-ons de React. Vérifiez la méthode de rendu de View.

constructor(props){
    super(props);
    this.state = {timeElapsed: null};
  }

startStopButton(){
    return <TouchableHighlight underlayColor="gray" onPress={this.handleStartPress.bind(this)}>
        <Text>Start</Text>
      </TouchableHighlight>
  }

handleStartPress(){
      var startTime = new Date();




      setInterval(()=>{
        this.setState({timeElapsed: new Date()})
      }, 1000);
  }
render(){
return(
  <View style={styles.container}>
    <View style={[styles.header]}>
      <View style={[styles.timerContainer, this.borderColor('#ff6666')]}>
        {this.state.timeElapsed}
      </View>
      <View style={[styles.buttonsContainer, this.borderColor('#558000')]}>
        {this.startStopButton()}
        {this.lapButton()}
      </View>
    </View>
  </View>
);


}
35
Mesmerize86

timeElapsed est un objet, React ne sait pas comment rendre ceci:

  <View style={[styles.timerContainer, this.borderColor('#ff6666')]}>
    {this.state.timeElapsed}
  </View>

Essayez de changer this.state.timeElapsed pour une chaîne comme par exemple:

  <View style={[styles.timerContainer, this.borderColor('#ff6666')]}>
    {this.state.timeElapsed.toString()}
  </View>
42
Emilio Rodriguez
<Note note={
 <p>{(new Date(updated_at)).toString()}</p>
} />

Dans ce cas, Note est mon composant enfant et j’ai dépassé la date indiquée ci-dessus et cela a fonctionné pour moi.

SortiePasse la date à React Child

1
Manindra Gautam