0

我正在开发一个反应应用程序,其中主屏幕有 3 个拆分窗格,[您可以在此图片中看到布局][1]。现在,当我从右侧子节点状态更新的测试文件夹中添加新文件但更改未呈现时。我为此目的使用redux。这是我的代码:Action.js

  return {
    type: "addFolder",
    name: name,
  };
};

export const update = (sceneName, folder) => {
  return {
    type: "addScene",
    sceneName: sceneName,
    folder: folder,
  };
};```
Reducers:(overview)
```import { adds } from "./add";
const allReducer = combineReducers({
  addFolder: adds,```
```import sceneImage from "../static/images/scene.png";
import update from "react-addons-update";

var x = Math.floor(Math.random() * 100 + 1)
let obj = [
  {
    icon: "Geo",
    id: 1,
    name: "Testing",
    nodeChild: [
      { id: 2244, name: "Scene1", image: sceneImage },
      { id: 2244, name: "Scene2", image: sceneImage },
    ],
  },
];
export const adds = (state = obj, action) => {
  switch (action.type) {
    case "addFolder":
      return [
        ...state,
        {
          icon: "GEO",
          id: obj.length,
          name: action.name,
          nodeChild: [],
        },
      ];
    case "addScene":
      const newState = [...state];

      const objIndex = newState.findIndex((obj) => obj.id == action.folder);
      newState[0].nodeChild.push({
        id: 2244,
        name: action.sceneName,
        image: sceneImage,
      });

      return newState; //[...state, newState];

    default:
      return state;
  }
};```

Anyone please help me




  [1]: https://i.stack.imgur.com/NeKUy.png
4

1 回答 1

0

在花了很多时间之后,我找到了一个解决方案,我在这里分享它,以便将来它可能会帮助其他人。

所以问题是我的 redux 正在正确更新状态,但是 syncfusion treeview 组件有一个问题,即除非我们再次渲染节点,否则它不会显示更改。因此,要在树视图组件中动态添加 nodechild,您必须再次渲染整个节点。

于 2021-12-14T18:17:38.713 回答