我得到了一个下面的错误。我可以看到我必须返回数组而不是对象。但我真的不知道如何修复它。
对象作为React子级无效。如果要呈现子级集合,请改用数组,或使用React外接程序中的createFragment(object) Package 对象。请检查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>
);
}
3条答案
按热度按时间3zwtqj6y1#
timeElapsed是一个对象,React不知道如何呈现它:
尝试将
this.state.timeElapsed
更改为字符串,例如:eyh26e7m2#
在本例中,Note是我的子组件,我如上所述传递了date,它对我起作用了。
输出Pass date to React Child
h6my8fg23#
JSON.stringify()
this.state.timeElapsed
是对象。对象不能以正常标准打印。因此我们需要以JSON.stringify()
呈现该对象。它转换为JSON格式。