Создайте новый объект, используя reduce
, а затем используйте this.setState()
, чтобы окончательно установить state
всего одним простым движением.
Также обратите внимание, что более целесообразно установить состояние только один раз и использовать функцию, предоставленную реагировать. Установка состояния напрямую, например state[bar] = foo
, является плохой практикой, поскольку документация гласит:
let string = "aaa-bbb-ccc-dd";
const newState = string.split('-').reduce((a, c, i) => {
a[`str${i+1}`] = c;
return a;
}, {})
this.setState(newState)