我有
this.state = {
modal_1: true,
modal_abc: true,
modal_special: true
}
如何将以modal开头的所有内容更改为false?是否有可能
this.setState({
`modal_*`: false
})
答案 0 :(得分:1)
在React的setState
方法或javascript的对象文字中没有通配符。您可以手动迭代对象键并减少它,例如:
const newState = Object.keys(this.state).reduce((result, key) => {
// conditionally set value of result
result[key] = key.startsWith('modal_') ? false : this.state[key];
return result;
}, {});
// and set new state
this.setState(newState);