useMemo для запоминания компонента Antd Tree, когда я управляю SelectedKeys

Я использую компонент Antd Tree, который занимает левую половину моего контейнера, а данные довольно большие. OnClick любого узла, я визуализирую некоторые детали относительно узла в правой половине внутри контейнера. Итак, я загружаю все узлы по одному, и onClick я поддерживаю переменную состояния с подробностями о выбранном узле. Теперь, когда данные большие, я подумал, что запомнив функциональный компонент этого дерева, я мог бы избежать повторной визуализации всего дерева onClick узла, чего я могу достичь с помощью useMemo(), но поскольку я управляю выбором узла с помощью Свойство дерева " selectedKeys={props.selkeys}", выделение не работает, но я могу добиться того, чтобы onClick повторный рендеринг не происходил. Это потому, что useMemo выглядит так, как показано ниже

useMemo(
() => (myTreeComp, [props.data]))

и если изменить useMemeo, чтобы включить также выбранные ключи, тогда нет смысла мемоизовать, поскольку его нужно перерисовать, потому что выбор узла изменился:

useMemo(
() => (myTreeComp, [props.data, props.selectedkeys]))

Поскольку это существующий код, я не уверен, как я могу решить эту проблему, которая не сильно меняется.

Я также открыт для любого другого решения для этого, например, как способ показать только небольшие данные, но обратите внимание, что все данные загружены в состоянии. Но, пожалуйста, предложите лучшее решение.

ИЛИ

Пожалуйста, посоветуйте, как использовать Infinite-scroller или другие подобные компоненты с этим Tree. Я не могу, потому что дерево может иметь только TreeNodes. Пожалуйста, порекомендуйте.

TIA

0 ответов

Другие вопросы по тегам