Binding Actions to App

When you want to bind the actions to the App, you use this to wrap items. This will create a "main" with all the actions available on it to perform actions.

import { bindActionCreators } from 'redux';
import { connnect } from 'react-redux'
import * as actionCreators from '../actions;
import Main from './Main';

function mapStateToProps(state) {
  return {
    posts: state.posts,
    comments: state.comments 
  }
}

function mapDispatchToProps(dispatch) {
  return bindActionCreators(actionCreators, dispatch);
}

const App = connect(mapStateToProps, mapDispatchToProps)(Main);

Then, this needs to be in your route instead of Main (in router.js)

import { Router, Route, IndexRoute, browserHistory } from 'react-router';
import { Provider } from 'react-redux';
import store, { history } from './store';

const router = (
  <Provider store={store}>
    <Router history={history}>
      <Route exact path="/" component={Main} />
      <Route exact path="/" component={PhotoGrid} />
      <Route exact path="/view/:postId" component={Single}>
    </Router>
  </Provider>
)

render(router, document.getElementById('root'));

Last updated