Я пытаюсь добавить/нажимать объект javascript (назовем этот «сеанс») на this.state.sessions.Изменение состояния реакции при нажатии вложенного объекта
Я попробовал это двумя способами:
1) Concat'ing новый сеанс
this.setState({sessions: this.state.sessions.concat(session)});
2) Использование РЕАКТ неизменности хелперы
var newState = React.addons.update(this.state, {
sessions : {
$push : [session]
}
});
this.setState(newState);
В то время как мелкие данные (например, sessions[i].location
) добавляется правильно, проблема заключается в том, что все области предыдущего сеанса теперь установлены на новый session.scope. В приведенной ниже картинной ссылке вы можете увидеть, что значения области первого сеанса (sessions[0].scope
) были перезаписаны значениями области второго сеанса (sessions[1].scope
). Как обеспечить, чтобы при добавлении нового сеанса значения предыдущего сеанса не затрагивались?
Я отмечаю это как ответ. Хотя я не решил проблему на своей исходной кодовой базе, я создал более простое приложение (все еще с дочерними компонентами) и обновления области, как и ожидалось. – Kunal