使用调度的操作

时间:2016-10-26 18:50:07

标签: react-native redux

我在主文件的底部有这个:

export default connect(state => ({
    state: state.firebaseReducer
  }),
  (dispatch) => ({
    actions: bindActionCreators(firebaseActions, dispatch)
  })
)(Routing);

这是我导入的减速机

const initialState = null;
export function firebaseRef(state = initialState, action) {
  switch (action.type) {
  case 'FIREBASE_REF_SET':
    return action.value;
  default:
    return state;
  }
}

动作:

export function setFirebaseRef(ref) {
  return {
    type: 'FIREBASE_REF_SET',
    value: ref
  };
}

但是当我尝试在我的主文件中执行此操作时:

componentDidMount() {
  state.setFirebaseRef(ref);
}

它说"找不到变量:state" 。我称之为错误的方式吗?我希望能够调用setFireBaseRef动作。

1 个答案:

答案 0 :(得分:1)

连接将部分状态注入并分配到道具中。您希望使用以下方式调度操作:

this.props.dispatch(setFireBaseRef(ref))

或者,假设firebaseActions包含setFireBaseRef,您可以这样做:

this.props.actions.setFireBaseRef(ref)