Javascript 更新处于React上下文状态的单个项
因此,我有以下格式的上下文:Javascript 更新处于React上下文状态的单个项,javascript,node.js,reactjs,state,react-context,Javascript,Node.js,Reactjs,State,React Context,因此,我有以下格式的上下文: class UserProvider extends Component { constructor(props) { super(props) this.initialize = (details) => { this.setState(state => { //Setting each item individually here
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>
)
}
}
类UserProvider扩展组件{
建造师(道具){
超级(道具)
this.initialize=(详细信息)=>{
this.setState(state=>{
//在此单独设置每个项目
//e、 g state.a=详细信息.a
})
}
this.editA=()=>{
this.setState(state=>{
//在这里换车
})
}
this.editB=()=>{
this.setState(state=>{
//在这里换车
})
}
此.state={
答:空,
b:空,
伊迪塔:这个,伊迪塔,
伊迪丝:这个,伊迪丝
}
}
render(){
返回(
{this.props.children}
)
}
}
所以对于每个状态,我都有一个单独的函数来更新它。如果我只想更新一个状态,我应该怎么做?考虑实现一个通用函数,以便您可以控制您的键和相应的值 i、 e 函数调用
changeField('a','value_a')
changeField('b','value_b')
用户只需更新该字段,而不为其他人做任何事情。。this.setState({a:''value'})@EugenSunic当我想通过一个消费者访问它时,它不需要为每个字段使用单独的函数吗?你的意思是说,你只需要一个函数来更新一个字段,而不是为n个字段使用n个函数?
changeField('a','value_a')
changeField('b','value_b')