0
我有问题需要编写组件状态下componentWillReceiveProps()中的nextProps接收到的一些值。无法写入componentWillReceiveProps中的状态
这是我当前的代码:
componentWillReceiveProps(nextProps){
console.log("REV")
console.log(nextProps)
const dateFrom = nextProps.requestDateFrom;
if(nextProps.requestDateFrom != 'undefined'){
this.setState({
dateFrom: dateFrom,
dateTo: nextProps.requestDateTo
});
//console.log(nextProps.requestDateFrom)
this.calculateDays();
}
}
calculateDays(){
console.log("clas")
console.log(this.state.dateFrom)
}
我不明白为什么会发生这种情况,因为数据是在nextProps
,也是常量dateFrom
填充componentWillReceiveProps()
。但是当我尝试在calculateDays()
中访问它们时,状态为空。
当然,我可以将值作为参数传递给函数,但宁愿让它们处于状态,所以我可以用其他方法访问它们。
我在这里错过了什么?
感谢
https://facebook.github.io/react/docs/component-api.html#setstate _setState()不会立即发生变异this.state_ –
使用''身边代码,而不是“'来格式化代码。 – yash
@BayLife你可以把你的逻辑放入'render'函数吗?这至少可以确保正确性,以防国家从未按时更新。 – activatedgeek