Sinan Samet
Sinan Samet

Reputation: 6742

Using dispatched actions

I have this on the bottom of my main file:

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

And this is my reducer that I imported

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

Action:

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

But when I try to do this in my main file:

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

It says "Can't find variable: state" . Am I calling it the wrong way? I want to be able to call the setFireBaseRef action.

Upvotes: 0

Views: 1243

Answers (1)

David Garwin
David Garwin

Reputation: 401

connect injects parts of state and dispatch into props. You want to dispatch the action using:

this.props.dispatch(setFireBaseRef(ref))

Or, assuming firebaseActionscontains setFireBaseRef, you can just do:

this.props.actions.setFireBaseRef(ref)

Upvotes: 2

Related Questions