Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在React Redux中对数据进行排序_Javascript_Reactjs_React Redux - Fatal编程技术网

Javascript 在React Redux中对数据进行排序

Javascript 在React Redux中对数据进行排序,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,我正在尝试创建一个排序按钮,当我将排序菜单添加到菜单框并将排序功能添加到主容器中的mapStateToProps后,我的数据(菜单)将按字母顺序排序,我的问题是实现此按钮的最简单方法是什么,单击此按钮将对数据进行排序?我需要为这个按钮创建一个新组件吗?或者我可以在我的容器中做些什么吗 容器: class DataContainer extends Component { displayCards = () => { switch(this.props.path) { ca

我正在尝试创建一个排序按钮,当我将排序菜单添加到菜单框并将排序功能添加到主容器中的mapStateToProps后,我的数据(菜单)将按字母顺序排序,我的问题是实现此按钮的最简单方法是什么,单击此按钮将对数据进行排序?我需要为这个按钮创建一个新组件吗?或者我可以在我的容器中做些什么吗

容器:

class DataContainer extends Component {

displayCards = () => {
  switch(this.props.path) {
      case "menus":
          return (this.props.sort_menus.map(card => (
              <NavLink style={{ color: "black" }} to={`/menus/${card.id}`} key={card.id}><MenuCard view={this.props.displayObject} info={card} /></NavLink>
          )));

      default:
          return (<div>Empty</div>)
   }
};

render() {
    return (
       <CardColumns>
          {this.displayCards()}
       </CardColumns>
      )
   }
}

const mapStateToProps = state => {
    return {
        sort_menus: state.menus.cards.sort(function(menu1, menu2) {
          if (menu1.name < menu2.name) {
            return -1;
          }
          if (menu1.name > menu2.name) {
            return 1;
          }
        })
    }
};
类数据容器扩展组件{
显示卡=()=>{
开关(此.props.path){
案例“菜单”:
return(this.props.sort_menus.map(card=>(
)));
违约:
返回(空)
}
};
render(){
返回(
{this.displayCards()}
)
}
}
常量mapStateToProps=状态=>{
返回{
排序\菜单:状态。菜单。卡片。排序(功能(菜单1,菜单2){
if(menu1.namemenu2.name){
返回1;
}
})
}
};

最好有一个记忆选择器来对项目进行排序。
检查redux文档

我不希望使用redux进行此操作,因为这不是挑战的一部分。