componentDidUpdate(){
var date = this.props.navigation.state.params.selected_date
this.setState({
sleepinputs_date: date
})
}
答案 0 :(得分:3)
您创建了无限状态更新。 在 componentDidUpdate 内部,你更新状态,当它更新状态时, componentDidUpdate 再次调用,这些内容会继续进行而不会结束。
答案 1 :(得分:1)
根据反应文档,您将在componentDidUpdate
中得到一个参数。只有在使用如下条件时才能设置状态。
componentDidUpdate(prevProps) {
// Typical usage (don't forget to compare props):
if (this.props.userID !== prevProps.userID) {
this.fetchData(this.props.userID);
}
}
基本上你将旧道具与新道具进行比较。只有它们不同,您才能继续更新或修改该值。如果以前的道具与当前道具相同,那么为什么要再次设置它们呢。