Рекурсивная передача селекторов динамически созданным дочерним элементам для поиска данных хранилища Redux - PullRequest
0 голосов
/ 09 апреля 2020

В настоящее время у меня есть состояние редукции с таким деревом:

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: ?,
      });
    })
  )}

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

...