2017-05-16 5 views
1

제어되지 않은 모드와 제어 모드에서 예제 소스 코드를 보면 탭 변경 (https://github.com/palantir/blueprint/blob/master/packages/core/examples/tabs2Example.tsx)에서 setState 메서드가 호출됩니다. 그러나 내 환경에서 내 onChange 리스너의 setState 호출은 Tabs2 요소가 포함 된 구성 요소를 다시 렌더링하여 탭 패널 중 하나 (특히보고있는 패널) 만 보존합니다.Tabs2가 상태 변경시 렌더링을 다시 렌더링하여 renderActiveTabPanelOnly 소용돌이를 효과적으로 렌더링합니다.

답변

0

나는 당신이 renderActiveTabPanelOnly 소품의 목적을 오해 할 수있다 생각한다

  • true 만 활성 탭은 DOM에 장착 입니다 (다른 비활성 탭이 제거된다).
  • false 인 경우 모든 탭이 DOM에 마운트되지만 활성 탭만 표시됩니다 (비활성 탭은 CSS를 통해 숨김).

사용법이 명확합니까?

+0

무국적 구성 요소를 패널로 사용하는 실수를 한 것으로 생각합니다. 따라서 Tabs2 부모 구성 요소가 다시 렌더링 될 때마다 내 상태없는 구성 요소가 만들어져 효과적으로 내 패널 중 하나만이 '활성화'되어 말하도록 만듭니다. . 패널에 상태 기반 구성 요소를 사용했다면 괜찮을 것이라고 생각합니다. 설명해 주셔서 감사합니다. – nschwan94