按薪水排序后我需要更新状态
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);
}
按结果。状态呈现而不排序。我怎样才能做正确?对不起我的英语
最佳答案
setState
接受一个对象(新状态对象)或一个函数(一个更新程序,当 react 实际更新状态时将运行,主要用于下一个状态依赖于前一个状态,如切换等),你传递给它一个数组。
你可以试试这个:
this.setState({workers: kk});
关于javascript - 排序后如何更新状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56089176/