Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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 排序后如何更新状态_Javascript_Reactjs - Fatal编程技术网

Javascript 排序后如何更新状态

Javascript 排序后如何更新状态,javascript,reactjs,Javascript,Reactjs,我需要在按工资排序后更新状态 state = { workers: [ {name: 'Bob', surname: 'Meljanski', salary: 5140}, {name: 'Michel', surname: 'Hensson', salary: 5420}, {name: 'Jane', surname: 'Mitchel', salary: 2054} } startSort = () => { cons

我需要在按工资排序后更新状态

state = {
    workers: [
        {name: 'Bob', surname: 'Meljanski', salary: 5140},
        {name: 'Michel', surname: 'Hensson', salary: 5420},
        {name: 'Jane', surname: 'Mitchel', salary: 2054}
}

startSort = () => {
    const arr = this.state.workers.slice();

    arr[2].name = 'Mike';
    var kk = [...arr].sort((a,b) => (a.salary>b.salary)*2-1);

    this.setState(kk);
    console.log(kk);
}
结果呢。状态渲染时不进行排序。我怎样才能做得正确?抱歉,我的英文版

接受一个对象,即新状态对象或更新程序将在react实际更新状态时运行的函数,主要用于下一个状态依赖于前一个状态时,如切换等,您向它传递了一个数组

您可以尝试以下方法:

 this.setState({workers: kk});
接受对象新状态对象或更新程序将在react实际更新状态时运行的函数,通常在下一个状态依赖于前一个状态时使用,如切换等,您向其传递了一个数组

您可以尝试以下方法:

 this.setState({workers: kk});