我从下面的链接中学习reactjs flux pattern
https://scotch.io/tutorials/getting-to-know-flux-the-react-js-architecture
我完全感到困惑并且丢失了以下这个位,以下代码何时被触发或使用?我没有看到应用程序中哪个地方会触发this._onChange ...请帮助并解释任何建议,因为我开始学习。
// Listen for changes
componentDidMount: function() {
ShoeStore.addChangeListener(this._onChange);
},
// Unbind change listener
componentWillUnmount: function() {
ShoesStore.removeChangeListener(this._onChange);
},
在商店中,是否意味着为了触发更新需要运行 ShoesStore.emitChange()?
// Emit Change event
emitChange: function() {
this.emit('change');
},
// Add change listener
addChangeListener: function(callback) {
this.on('change', callback);
},
// Remove change listener
removeChangeListener: function(callback) {
this.removeListener('change', callback);
}
答案 0 :(得分:0)
在典型的Flux
应用中,您的商店会发出更改(EventEmitter
)并调用_onChange
,因为它已由addChangeListner
分配,之后需要将其删除否则会导致内存泄漏。 componentDidMount
和componentWillUnmount
在某些生命周期阶段被调用,正如方法名称所说,就在安装组件之后,就在卸载之前。
答案 1 :(得分:0)
正确答案:( BinaryMuse摘要)
当你创建商店时,你通常会自己调用emitChange()(它通常不是自动的)。