有人可以向我解釋爲什麼在函數「calcTime」中的下例中的「this.state.time」在「componentWillReceiveProps」後沒有更新?componentWillReceiveProps不更新函數中的狀態
這有點奇怪,因爲每當組件接收新道具時,「文本」字段中的this.state.time會更新,但在函數「calcTime」中,「this.state.time」始終保持從「this .props.time」。
謝謝。
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
export default class Time extends Component {
constructor(props){
super(props);
this.state = {
time:this.props.Time,
info:''
};
}
calcTime(){
console.log('in calcTime '+ this.state.time)
}
componentWillReceiveProps(nextProps) {
this.setState({
time:nextProps.Time
});
this.calcTime();
}
render(){
return(
<View>
<Text>{this.state.time}</Text>
</View>
);
}
}
AppRegistry.registerComponent('Time',() => Time);
([在reactJs初始呼叫空狀態值]的可能的複製http://stackoverflow.com/questions/39567602/empty-state-value-for-initial- call-in-reactjs) –