Redux还是Pub / Sub?

时间:2019-03-06 21:36:12

标签: react-native redux

我有一个React应用,可以录制音频。 当用户按下按钮时,该组件应使它的父组件运行stopRecording()例程,从而保存文件和一些有关条件的json数据并触发用户流。

我一直在研究Redux,它对于JSON数据来说似乎不错,但是我对音频文件不太确定。 但是Redux是否达到了pub / sub的目的,即通知组件他们应该做的事情。

1 个答案:

答案 0 :(得分:1)

  

但是Redux是否实现了pub / sub通知组件的目的   他们应该做的事。

是的。每当商店更改时,所有“连接”的组件都将接收新的商店更新,因此,componentDidUpdate将被调用。例如,假设您要触发一个动作并侦听该触发,然后您将执行以下操作:

订户

class MyListenerComponent extends Component {
  ...
  componentDidUpdate(prevProps) {
    if(this.props.triggerAction !== prevProps.triggerAction) {
      // do something meaningful here, perform user flow, stop recording, whatever
    }
  }
  ...
}
const mapStateToProps = (state) => {
  return({
    triggerAction: state.triggerAction
  })
}
export default connect(mapStateToProps)(MyListenerComponent)

动作触发器(发布者)

this.props.dispatch({type: 'TRIGGER_ACTION', triggerAction: 'some data here'})

减速器:

switch(action.type) {
  case 'TRIGGER_ACTION':
  return ({
    ...state,
    triggerAction: action.triggerAction,
  })
}