Tôi có một thành phần React.js đó được trả lại như vậy:React.js - componentWillReceiveProps bị trúng hai lần
<Social email={this.state.email} />;
Có một số sự kiện trên trang đó cập nhật this.state.email
, và kết quả là, đi qua làm , gửi một email
mới cho thành phần Social
.
Trong thành phần Social
này, tôi nghe các bản cập nhật như sau:
componentWillReceiveProps: function(nextProps) {
console.log('received props update', nextProps.email);
this.doSomeWork();
}
Đó là dòng console đang được trả lại gấp đôi mà làm cho đèn flash UI hai lần cùng với các cuộc gọi đến các mạng xã hội.
tôi luôn luôn có thể làm điều gì đó như:
if (nextProps.email != this.props.email) {
this.doSomeWork();
}
Nhưng nó cảm thấy một chút hacky ...
là thông điệp đôi mong đợi? và nếu có, hãy tò mò tại sao?
Nếu không, cách tốt nhất để theo dõi và loại bỏ nó là gì?
đúp khiến === cuộc gọi đôi, suy nghĩ lại vẽ của bạn. :) –