Причина в том, что в момент вывода значения в консоли реквизиты не обновляются.Когда реквизиты обновляются, компонент реакции перерисовывается и отображает значение счетчика.Чтобы проверить, что вы можете использовать setTimeout
.
handle=()=>{
this.props.decrement();
setTimeout(this.getCount,10)
}
, если вы хотите сохранить в журнале значение, вы можете в течение жизненного цикла.Вы можете использовать componentDidUpdate
componentDidUpdate(prevProps) {
if (this.props.counter !== prevProps.counter) {
console.log(this.props.counter);
}
}
или componentWillReceiveProps (для версии реакции <16) </p>
componentWillReceiveProps(newProps) {
if( newProps.counter != this.props.counter ) {
console.log(newProps.counter);
}
}
или иначе getDerivedStateFromProps (версия реакции 16 +)
static getDerivedStateFromProps(nextProps, prevState) {
if(nextProps.counter !== prevState.counter ) {
console.log(nextProps.counter);
}
}