Почему вы говорите, что он не работает? Синтаксис выглядит нормально и должен работать
Обратите внимание, что setState - это asyn c функция, вам нужно ждать для завершения обновления, чтобы увидеть изменить.
Вы можете передать функцию обратного вызова в setState, которая будет выполняться при установке состояния, например
this.setState({
blah: 'something new'
}, () => {
console.log(this.state.blah) // will print 'something new'
}
})
Вы не увидите немедленное изменение если вы делаете это так:
this.setState({
blah: 'something new'
})
console.log(this.state.blah) // this will print whatever 'blah' was previously set to, and not 'something new'