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