Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. // External dependencies
  2. import React from 'react';
  3. import thunk from 'redux-thunk';
  4. import { render } from 'react-dom';
  5. import { Provider } from 'react-redux';
  6. import { routerReducer } from 'react-router-redux';
  7. import { BrowserRouter, Route, Switch } from 'react-router-dom';
  8. import { createStore, applyMiddleware, compose, combineReducers } from 'redux';
  9. import ApolloClient, { createNetworkInterface } from 'apollo-client';
  10.  
  11. // Setup router
  12. const Router = () => (
  13. <BrowserRouter basename={app.route}>
  14. // Routers go here
  15. </BrowserRouter>
  16. );
  17.  
  18. // Setup reducer tree
  19. const reducers = combineReducers({
  20. // ... your reducers here ...
  21. routing: routerReducer,
  22. apollo: apolloClient.reducer(),
  23. });
  24.  
  25. // Setup apollo-client
  26. const apolloClient = new ApolloClient({
  27. networkInterface: createNetworkInterface({
  28. uri: `/my-graphql-server`,
  29. opts: {
  30. credentials: 'same-origin',
  31. },
  32. }),
  33. });
  34.  
  35. // Setup your redux store
  36. const store = createStore(
  37. reducers,
  38. compose(
  39. applyMiddleware(thunk.withExtraArgument(apolloClient)),
  40. window.devToolsExtension ? window.devToolsExtension() : (f) => f
  41. )
  42. );
  43.  
  44. // Render
  45. render(
  46. <Provider store={store}>
  47. <Router />
  48. </Provider>,
  49. document.getElementById('react-root')
  50. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement