У меня есть переменная состояния, реагирующая как:
this.state = {
formStatus : {
approved : true,
rejected : true,
pending : true
}
}
и динамический массив, значение которого может содержать одно или все из этих значений
appliedFilters = ['approved', 'rejected', 'pending']
Теперь я хочу установить для своих ключей состояния значение false, если массив не содержит их.
Например, если массив ['approved', 'rejected']
, то мое состояние должно быть установлено как:
this.state = {
formStatus : {
approved : true,
rejected : true,
pending : false
}
}
Я хочу сделать это, используя ES6 map () , если возможно.
Я сделал что-то подобное, но оно не работает:
appliedFilters.map(filter => {
this.setState(prevState => ({
formStatus: prevState.formStatus.map(
status => (status === filter) ? true : false
)
}))
})