Я пытаюсь получить доступ к значению this.state.timeRemaining из функции componentWillMount ().Я деструктурировал объект this.state и переименовал значение в «swag».Я ожидаю, что мой оператор console.log () выведет «5» (так как я установил состояние и запустил этот оператор print в функции обратного вызова), но вместо этого будет напечатано значение «null».Я считаю, что это проблема, связанная с деструктуризацией, поскольку я могу вывести «5», используя вместо этого this.state.timeRemaining в операторе console.log ().Есть идеи, почему это так?Это как-то связано с контекстом?
class Favr extends Component {
constructor(props) {
super(props);
this.state = {detailsAreShowing: false, timeRemaining: null};
this.showDetails = this.showDetails.bind(this);
}
componentWillMount() {
const { timeRemaining: swag } = this.state;
const { favr: {expirationTime} } = this.props;
let remainingTimeInMil = expirationTime.getTime() - Date.now();
this.setState({timeRemaining: 5}, () => {
console.log(swag); // prints null
});
...
}
...
}