在我的反应中,shouldComponentUpdate函数,this.props和nextprops具有所有相同的属性,但它们不相等

时间:2017-07-24 02:33:21

标签: javascript reactjs

在我的反应中,shouldComponentUpdate函数,this.props和nextprops具有所有相同的属性,但它们不相等。我的代码:

shouldComponentUpdate(nextProps) {
    console.log(this.props);
    console.log(nextProps);
    console.log('nextProps vs this.props:', nextProps === this.props);
    console.log('this.props.style vs nextProps.style:', this.props.style === nextProps.style);
    console.log('this.props.data vs nextProps.data',this.props.data === nextProps.data);
    return true;
  }

输出是: enter image description here

我的困惑在于道具是否具有一些隐藏的属性。

2 个答案:

答案 0 :(得分:0)

对象比较不起作用。

例如,请使用以下代码:

test_a = {key: 'value'}
test_b = {key: 'value'}
console.log(test_a == test_b) //false

有很多方法可以正确地比较js对象的值是否相等,而评论部分中的某个人已经提供了指向该主题的前一个线程的链接。

答案 1 :(得分:-2)

只需执行JSON.stringify(this.props) === JSON.stringify(nextProps)