检查两个数组是否包含相同的对象-反应componentDidUpdate
我正在使用React的componentDidUpdate
生命周期方法。
我试图确定两个数组是否相同。
我的prevState
数组如下所示:
prevState.players = [ {
name: 'Wayne Rooney',
age: 31
},
{
name: 'Lionel Messi',
age: 29
},
{
name: 'Robbie Fowler',
age: 42
}
];
和this.state
阵列看起来像这样:
this.state.players = [ {
name: 'Wayne Rooney',
age: 31
},
{
name: 'Lionel Messi',
age: 29
},
{
name: 'Robbie Fowler',
age: 42
}
];
如您所见,如果您展开下面的代码段,则它们不相等:
let playersOne = [{ name: 'Wayne Rooney',
age: 31
},
{
name: 'Lionel Messi',
age: 29
},
{
name: 'Robbie Fowler',
age: 42
}
];
let playersTwo = [{
name: 'Wayne Rooney',
age: 31
},
{
name: 'Lionel Messi',
age: 29
},
{
name: 'Robbie Fowler',
age: 42
}
];
console.log(playersOne == playersTwo)
这是我的生命周期代码。
componentDidUpdate(prevProps, prevState) { if(prevState.players != this.state.players) {
this.updatePlayers(this.state);
}
}
任何人都可以建议确定数组是否相等的最佳方法吗?
回答:
JSON.stringify(playersOne) == JSON.stringify(playersTwo)
以上是 检查两个数组是否包含相同的对象-反应componentDidUpdate 的全部内容, 来源链接: utcz.com/qa/410377.html