Javascript 如何按React中的组件排序

Javascript 如何按React中的组件排序,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,我正在渲染一个显示数组的组件,并希望它们按最后一个条目排序 我曾尝试在渲染器外部执行一个函数,并将其包含在组件中,但安装不正确 orderBy() { let data = this.state; data.data.sort((a, b) => { return a.published_on - b.published_on }).map((data) => { return data; }) } render() { co

我正在渲染一个显示数组的组件,并希望它们按最后一个条目排序

我曾尝试在渲染器外部执行一个函数,并将其包含在组件中,但安装不正确

orderBy() {
        let data = this.state;
        data.data.sort((a, b) => {
return a.published_on - b.published_on
}).map((data) => {
return data;
})
    }

render() {
        const { loading, data } = this.state;

        return (
            <div className="list">
                <Table rowKey="ref" loading={loading} dataSource={data.data} size="large" />
            </div>
        );
    }
orderBy(){
让data=this.state;
data.data.sort((a,b)=>{
返回a.published_on-b.published_on
}).map((数据)=>{
返回数据;
})
}
render(){
const{loading,data}=this.state;
返回(
);
}
我希望表组件在加载时按data.data.published_on排序

在React中,正确的方法是什么?

1)您没有从函数返回任何内容

2) 由于您使用的是类组件,因此需要使用
this.orderBy

3) 不要从状态中获取数据,而是将其传递到函数中:

orderBy(data) {
  return data.sort((a, b) => a.published_on - b.published_on);
}

render() {
  const { loading, data } = this.state;

  return (
    <div className="list">
      <Table rowKey="ref" loading={loading} dataSource={this.orderBy(data.data)} size="large" />
    </div>
  );
}
orderBy(数据){
返回data.sort((a,b)=>a.published\u on-b.published\u on);
}
render(){
const{loading,data}=this.state;
返回(
);
}

“我尝试在呈现该orderBy之外执行一个函数”:您应该将其添加到您的问题中。@Andy我已经添加了该函数,您如何调用
orderBy
?当我在表中调用时遇到问题,页面不会加载该技巧,只需要在orderBy函数中将数据声明为数组,就可以了