Javascript 嵌套对象的设置状态
我有一个嵌套对象作为状态,在组件中有一个窗体。我想在用户每次在表单中输入内容时更新状态,为了避免为每个输入创建多个函数,我想使用switch创建一个函数Javascript 嵌套对象的设置状态,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,我有一个嵌套对象作为状态,在组件中有一个窗体。我想在用户每次在表单中输入内容时更新状态,为了避免为每个输入创建多个函数,我想使用switch创建一个函数 使用开关创建单个函数是一个好主意吗 如何更新对象的单个嵌套元素 我尝试了以下代码,但不起作用: class App extends Component { constructor(props) { super(props) this.state = { minutes: null, i
class App extends Component {
constructor(props) {
super(props)
this.state = {
minutes: null,
interests: {
business: false,
code: false,
design: false
},
errors: []
}
}
updatePreferences = (preferenceName, enteredValue) => {
switch (preferenceName) {
case preferenceName === "minutes":
this.setState({minutes: enteredValue})
return
case preferenceName === "business":
this.setState({interests.business: !this.state.interests.business})
return
case default:
return
}
}
}
当然你可以使用
开关
,一点问题都没有
并使用setState
更新嵌套对象。参见示例
updatePreferences = (preferenceName, enteredValue) => {
switch (preferenceName) {
case preferenceName === "minutes":
this.setState({minutes: enteredValue});
return
case preferenceName === "business":
this.setState({...this.state, interests: {
...this.state.interests,
business: !this.state.interests.business
}});
return
default:
return
}
}
伟大的只是
默认值
而不是案例默认值
对不起,错过了