2017-10-12 4 views
1

React Router를 사용하여 각 탭마다 다른 경로로 탭을 만들었습니다. 그러나 숨겨진 탭을 유지하여 탭 전환간에 탭 상태를 유지하고 싶습니다. 이것을 어떻게 성취합니까? React 라우터는 경로가 전환 될 때마다 각 구성 요소를 다시 마운트합니다.React Router 탭 - 구성 요소 탑재

누군가가 이미이 질문에 here을 요청했지만,

가 이상적으로 나는 그들이 처음

+1

여러 구성 요소에 대해 '상태'를 유지하려면 다시 탑재하지 않는 상위 구성 요소 또는'redux'와 같은 상태 관리자가 필요합니다. –

+0

@ Sag1v 감사합니다! 난 오히려 구성 요소 자체 내부의 구성 요소 상태를 추적 할 것이고, 실제로 구성 요소를 전환 탭 사이에 하나의 세션 내에 두도록두고 싶습니다. – kat

+0

좋은 연습 이외에 "깨끗한"방법이 있다고 생각하지 않습니다. '반응 '과 그 도구의 디자인 패턴. 어쩌면 당신은 로컬 스토리지에 저장할 수 있지만 그 충고. 'state'는이 객체를 파괴하는 클래스를 파괴 할 때'class' ('React.component' 클래스)의 인스턴스에 속하는 메모리 객체입니다. 정통적인 접근법은 상태를 일반 부모에게 양보하거나'redux'와 같은 상태 관리자를 통해 외부에 저장하는 것입니다. –

답변

0

I에 대한 공격 후 장착 표시되지 않습니다 탭을 유지하는 솔루션을 찾을 것이라고 답변을받지 못한 이 작업이 실제로 작동하는지 확인하기 위해 좀 더 조사해야하지만 React Router 문서를 통해 읽으면 구성 요소에 대해 this을 찾았습니다. component 소품을 사용하면 경로가 변경 될 때마다 구성 요소가 다시 마운트됩니다. 그러나 다른 렌더링 방법을 사용하면 원하는 것을 얻을 수 있습니다. render으로 가고 싶지만 children도 사용할 수 있습니까?

관련 문제