передает их в дочерние компоненты.
class RootComponent{
state = {row: {a: 1, b: 2}}
update(field, value){
this.setState(() => ({...this.state.row, [field]: value}))
}
render(){
return (
<div><ChildComponent1 {...this.state}/><ChildComponent2 {...this.state}/></div>
)
}
}
class ChildComponent1 {
componentDidMount(){
this.props.update(a: 11)
}
}
class ChildComponent2 {
componentDidMount(){
this.props.update(b: 22)
}
}
В итоге в state оказывается значение {a: 1, b: 22}
Т.е. первый setState "пропускается".
Я знаю про то, что setState асинхронный, но как жить?
к тебе в setState приходит актуальный стейт
Обсуждают сегодня