В настоящее время у меня есть состояние редукции с таким деревом:
state = {
manager: {
items: {
key01: { data: {...}, childrenItems: {...}, childrenKeys: [...] },
key02: { data: {}, childrenItems: {}, childrenKeys: [] }, ...
},
keys: [key02, key01 ...]
}...
}
Где порядок определяется массивом ключей. Ключи сопоставлены, и каждому ключу присвоен Компонент
{keys.map((uniquekey: string) => {
return <Item uniqueKey={uniquekey} key={uniquekey} />;
})}
, и он найден с помощью селектора:
const item: Manager = useSelector(
(state: AppState) => state.manager.Items[uniqueKey],
shallowEqual
);
Каждый элемент имеет узел, который отображается в компоненте Item, и я бы хотел, чтобы он рекурсивно отображал свои дочерние элементы и, соответственно, просил дочерние элементы искать свои собственные данные по заданному уникальному ключу.
{React.cloneElement(
node,
{
ref: itemRef,
onClick: handleClick,
style: item.styling,
},
Object.keys(item.childrenItems).map((child: any) => {
return React.createElement(Item, {
uniqueKey: child,
childSelector: ?,
});
})
)}
Любые советы о том, как решить эту проблему. проблема будет принята с благодарностью. Спасибо