如何从本地图中获取数据?

IT技术 recursion reactjs relayjs
2021-05-22 08:24:58

我有显示分层数据的组件。它是一个递归数据结构——一个分层分类器。分类器中的每个类别由子类别等组成。

这是它的游乐场:

接力游乐场

我有一个组件以第三方 html 形式显示这个分类器。它用于选择一个类别。

在某个时间点,用户将从这个递归分类器中选择一个类别,我将不得不获得导致当前级别的数据的完整路径。我的意思是,如果用户在层次结构的第 3 级选择一个类别,我必须返回这些数据:

[root cat id, root cat name],
[level 1 cat id, level 1 cat name],
[level 2 cat id, level 2 cat name]

因此,当我在第 2 级捕获组件内部采摘事件时,如何从Relay商店(从本地图)获取根类别的完整路径

1个回答

这有一个 React 解决方案而不是 Relay 解决方案:如何访问树中给定节点的路径?我会合成一个路径,并将其传递到您的组件中。

const path = [
  // The elements of the passed-in path.
  ...this.props.path,
  // A new path element using the details from this level.
  [this.props.catId, this.props.catName],
];
<MyNode path={path} onClick={() => alert(path)} />

单击此处查看工作示例