我在主文件的底部有这个:
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动作。
答案 0 :(得分:1)
连接将部分状态注入并分配到道具中。您希望使用以下方式调度操作:
this.props.dispatch(setFireBaseRef(ref))
或者,假设firebaseActions
包含setFireBaseRef
,您可以这样做:
this.props.actions.setFireBaseRef(ref)