所以我有一个如下格式的上下文:
class UserProvider extends Component {
constructor(props) {
super(props)
this.initialize = (details) => {
this.setState(state => {
//Setting each item individually here
//e.g state.a = details.a
})
}
this.editA = () => {
this.setState(state => {
//change A here
})
}
this.editB = () => {
this.setState(state => {
//Change B here
})
}
this.state = {
a: null,
b: null,
editA: this.editA,
editB: this.editB
}
}
render() {
return (
<User.Provider value={this.state}>
{this.props.children}
</User.Provider>
)
}
}
所以对于每个状态,我都有一个单独的函数来更新它。如果我只想更新单个状态,应该怎么做?
考虑实现一个泛型函数,以便您可以控制您的键和相应的值。
即。
const changeField = (key, value) => this.setState({ [key]: value});
函数调用
changeField('a','value_a')
changeField('b','value_b')