【问题标题】:How to make the React component re render when the array inside the redux state object is sortedredux状态对象内的数组排序时如何让React组件重新渲染
【发布时间】:2021-01-29 23:12:21
【问题描述】:

我有一个使用 redux 进行状态管理的 react 应用程序。 state 对象有多个属性,其中一个是数组。当我对状态对象内的数组进行排序时,组件不会重新渲染。 下面是示例代码: modifiedState 是我的 redux 状态对象,其中 allGroups 是一个数组

 let arry=modifiedState.allGroups;
 const newarry=arry.sort()
 modifiedState1={ ...modifiedState, allGroups: [ ...newarry ]};
 return modifiedState1;

有人可以指出我做错了什么。我正在使用扩展运算符创建一个新对象,该运算符获取对象并使用已排序的对象更新数组。

【问题讨论】:

    标签: reactjs redux react-redux


    【解决方案1】:

    如果您只需要数组的排序版本,我建议将此逻辑移动到您的 mapStateToProps 方法中。

    【讨论】:

    • 您能否提供有关如何执行此操作的更多详细信息?我是 React-Redux 的新手。基本上在我的应用程序中,用户可以使用名称字段、描述、状态等标题对页面上的列进行排序。我想知道用户是否编辑了一些 col 数据。他们仍应以与以前相同的方式按排序顺序查看新数据。目前发生的情况是,一旦用户编辑了一些数据,排序顺序就会丢失,因为我们没有将排序键存储在 redux 状态。您能否建议在 Redux 中执行此操作的更好方法?
    • 我很高兴向您展示实现这一目标的方法,但我需要更多关于您现有代码库的信息。能否请您告诉我您的 api 调用方法以及这部分的操作和减速器,好吗?另外,您熟悉钩子和功能组件吗?如果不是,那很好,但我需要知道以便提供尽可能清晰的答案,因为您正在努力使用 redux,我不想用不必要的逻辑压倒您。包含您已经提供的代码 sn-p 的组件也会有所帮助,但不是强制性的。
    猜你喜欢
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 2021-06-22
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    相关资源
    最近更新 更多