this.state.sessions에 javascript 객체 (이 '세션'이라고 부름)를 추가 / 푸시하려고합니다.
이 두 가지 방법을 시도했습니다.
1) 새 세션 연결
this.setState({sessions: this.state.sessions.concat(session)});
2) React의 불변성 도우미 사용
var newState = React.addons.update(this.state, {
sessions : {
$push : [session]
}
});
this.setState(newState);
얕은 데이터 (예 :) sessions[i].location
가 올바르게 추가 되었지만 문제는 이전 세션의 모든 범위가 이제 새 session.scope로 설정된다는 것입니다. 아래 그림 링크에서 두 번째 세션의 범위 값 ( sessions[0].scope
)이 첫 번째 세션의 범위 값 ( )을 덮어 썼음을 볼 수 있습니다 sessions[1].scope
. 새 세션을 추가 할 때 이전 세션의 값이 영향을받지 않도록하려면 어떻게해야합니까?
나는 이것이 반응과 거의 관련이 없다고 생각하며 문제는 객체 sessions[0].scope
가 참조로 복사된다는 것입니다. 해당 scope
개체는 이전 세션 값과 새 세션 값간에 공유되는 참조 일 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다