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>
);
}
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>
<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.