지금 당장은 상단에 헤더가있는 일종의 탭 레이아웃에 세 가지 주요 구성 요소가 있으며 그 중 하나가 활성화되어있는 것은 매우 간단한 해시 라우터가있는 최상위 수준의 App 구성 요소에서 제어됩니다.React 컴포넌트에서 마운트 및 마운트 해제 상태를 유지하려면 어떻게합니까?
이제 프로필 구성 요소에 상태를 설정하면 다른 구성 요소 중 하나로 전환하면 상태가 벗어납니다.
어떻게 방지 할 수 있습니까? 대신 App 구성 요소에 상태를 놓아야합니까, 아니면 Redux 또는 Flux와 같은 것이 유용할까요?
Home | About | Profile
-----------------------------------
| |
| Content |
...
최고 수준의 구성 요소 :
function App(props) {
switch (props.location[0]) {
case '':
return <Home />;
case 'about':
return <About />;
case 'profile':
return <Profile />;
default:
return <NoMatch />;
}
}
App.propTypes = {
location: React.PropTypes.array.isRequired,
};
function renderOnHashChange() {
let location = window.location.hash.replace(/^#\/?|\/$/g, '').split('/');
const application = <App location={location} />;
ReactDOM.render(application, document.getElementById('app'));
}
window.addEventListener('hashchange', renderOnHashChange, false);
renderOnHashChange();
'Redux 나 Flux와 같은 것이 유용할까요? '예. – Aprillion