2017-01-12 7 views
0

상태에 물건을 붙일 때 또는 받침대로 보낼 때의 주된 관심사를 알고 있지만, 둘 다 적합 할 때 나는 어떨까요? 부모가 활성 (소품) 상태이고 클릭 이벤트 (상태)에서이 속성을 토글하는 옵션이있는 경우 항목이 '활성'이어야합니다.반응 구성 요소의 데이터 상태 대 소품

답변

0

부모님의 상태로 유지되는 변수가 parentActive 인 것 같고 자녀에게 소품으로 전달됩니다. 그런 다음 childActive 변수가 클릭 이벤트에 의해 토글 된 상태로 유지됩니다. 그렇다면 단순히 활동적인지 여부를 결정하는 일부 논리/조건을 자녀에게 부여해야합니다. 예를 들면 : 당신이 논리를 필요로하는 새로운 값이있을 때

일반적으로
// Within child component 
if (this.props.parentActive || this.state.childActive) { } 

이, 당신이 상태로 보관하면 해당 구성 요소에서 필요로하는 클릭 핸들러를 만든 다음 가능성의 클릭 핸들러 떨어져 그것을 통과 (및) 어린이를위한 소품으로. 귀하의 경우에는 부모 내 값/활성 플래그에 대한 논리와 하위 값/활성 플래그에 대한 논리가 필요합니다. 그래서 두 변수 모두에서 상태를 설정하고 부모 값 아이를위한 소품으로.

+1

나는 또한 일반적으로 부모의 상태가 필요 없다는 것을 추가 할 것이다. 부모가 그 상태를 처리하게하고 자식 소품을 사용하여 UI를 업데이트하십시오. – Eldelshell

관련 문제