В моем приложении реакции цвет фона для некоторых дочерних элементов задан через реквизит из состояния.Начальное значение для всех цветов равно нулю, поэтому элементы просто прозрачны.После некоторого взаимодействия и щелчка пользователь может изменить значения состояния на другие цвета, чтобы фон изменился.
После этого я хочу иметь возможность установить все цвета обратно на ноль, но почему-то это не работает, вот небольшая часть моего кода:
state = { colors: [
{ id: 1, color: null },
{ id: 2, color: null },
{ id: 3, color: null },
{ id: 4, color: null }
]}
reset = () => {
let colors = [...this.state.colors]
colors.forEach(color => color.color = null)
this.setState({ colors: colors })
}
ЗначенияЦветовые клавиши в состоянии изменяются на ноль, как и ожидалось, но цвета элементов не исчезают.Если я пытаюсь сделать что-то вроде
colors.forEach(color => color.color = "red")
, тогда все цвета на самом деле меняются на красный, но почему я не могу получить тот же результат с нулем?