여기에는 복제를 통해 모든 하위 개체에 handleHeaderTitle 함수를 전달하는 응용 프로그램 루트 구성 요소가 있습니다. 하위 구성 요소 내부에서이 함수는 componentWillMount() 에서 호출되며 결과적으로 루트 구성 요소는 경로를 기반으로 헤더 텍스트를 업데이트합니다.하위 구성 요소 변경 상위 구성 요소 상태
루트 :
{
this.props.children &&
React.cloneElement(this.props.children, {
handleHeaderTitle: this.handleHeaderTitle
})
}
handleHeaderTitle(title) {
this.setState({ headerTitle: title });
}
아이 :
componentWillMount() {
this.props.handleHeaderTitle("Profile");
}
Profile.propTypes = { handleHeaderTitle: React.PropTypes.func };
상태가 여기에 부모의 자식 요소에서 설정되는 등 정말 지역이 아니므로 돌아 오는 추가이 바로 유스 케이스인가?
SET_PROFILE_HEADER 및 내부 축소 기와 같은 작업을 생성하고 결합해야한다고 생각합니다. 그러나 컨테이너 구성 요소에 하위 구성 요소가 헤더 제목을 변경했다는 사실을 알리는 방법은 여전히 파악해야합니다.
감사합니다. Chardy에게 감사드립니다. 하위 구성 요소에 헤더를 정의 할 수없는 사이드 바 구성 요소 (https://github.com/balloob/react-sidebar)를 사용하고 있습니다. – fortm