React Fabric UI Pivot размонтирует компонент при изменении PivotItem
Я использую компонент Pivot из FabricUI, но я застрял, потому что у меня есть несколько PivotItems, и у каждого PivotItem есть дочерний компонент, который взаимодействует с сервером при подключении. Каждый раз, когда я меняю элемент сводки, текущий компонент get отключается, а новый монтируется.
<Pivot>
<PivotItem linkText='One' itemKey='0'>
<GridDataOne/>
</PivotItem>
<PivotItem linkText='Two' itemKey='1'>
<GridDataTwo/>
</PivotItem>
</Pivot>
class GridDataTwo extends React.Component<any,any> {
...
componentDidMount() {
fetchDataFromServer()...
}
}
Как я могу избежать такого поведения? Можно ли скрывать неактивные элементы, а не размонтировать их?
Спасибо.
1 ответ
Одним из решений было бы сделать звонок на сервер из Pivot
"s onLinkClick
обратный вызов, как здесь. Это передаст вас обратно PivotItem
, Если вы установите itemKey
опора на каждого PivotItem
Затем вы можете точно знать, какая вкладка будет отображаться, а затем решить, какой конкретный вызов сделать на основе этого идентификатора. Вы можете увидеть пример этого здесь.
К сожалению, нет способа скрыть невыбранные вкладки, поскольку это будет означать, что они все загружены на страницу и кто знает, сколько их там и насколько они тяжелые.