如何编辑和删除 react-sortable-tree 中的节点?

How can I edit and delete node in react-sortable-tree?

我必须使用 react-sortable-tree 拖放树视图。而且我还需要在我的树视图中进行 crud 操作。我已经在树视图上添加、编辑和删除我的 parent 节点。出乎意料的是,每当我拖动我的节点时我都会遇到一些问题,当时我的 first-child 将编辑并在之后正确更新,但无法使用删除功能,而且 nth-child 也无法正常添加,编辑和编辑删除节点。

我的code sandbox live link.

问题是您正在使用旧的 setState 语法更新状态。像这样,

setState({ stateKey: stateValue });

但是新的 useState 挂钩不需要 stateKey。您可以通过调用 setState(stateValue).

来更新状态

所以,与其写这个,

settreeData({
      treeData: removeNodeAtPath({
        treeData: treeData,
        path: path,
        getNodeKey: ({ treeIndex: number, node: TreeNode }) => {
          return number;
        },
        ignoreCollapsed: false
      })
    });

你应该写这个,

settreeData(
      removeNodeAtPath({
        treeData: treeData,
        path: path,
        getNodeKey: ({ treeIndex: number, node: TreeNode }) => {
          return number;
        },
        ignoreCollapsed: false
      })
    );

这是工作 code link