Skip to content

Instantly share code, notes, and snippets.

@vinicius5581
Created November 7, 2017 10:21
Show Gist options
  • Save vinicius5581/c91164b10ff793b685a0dd7ecc9af38d to your computer and use it in GitHub Desktop.
Save vinicius5581/c91164b10ff793b685a0dd7ecc9af38d to your computer and use it in GitHub Desktop.
React/Redux broken app
import React, { Component } from 'react'
import { BrowserRouter, Route, Switch } from 'react-router-dom'
import { createStore, applyMiddleware, compose } from 'redux'
import reducer from './reducers'
// import { Provider } from 'react-redux'
import thunk from 'redux-thunk'
import { ApolloClient, createNetworkInterface, ApolloProvider } from 'react-apollo'
import './App.css'
import Category from './views/Category'
import Home from './views/Home'
import PostDetail from './views/PostDetail'
const logger = store => next => action => {
console.group(action.type)
console.info('dispatching', action)
let result = next(action)
console.log('next state', store.getState())
console.groupEnd(action.type)
return result
}
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose
const store = createStore(
reducer,
composeEnhancers(applyMiddleware(logger, thunk))
)
const client = new ApolloClient({
networkInterface: createNetworkInterface({
uri: 'http://54.175.208.171/graphql',
}),
})
class App extends Component {
render () {
return (
<ApolloProvider client={client} store={store}>
<BrowserRouter>
<Switch>
<Route exact path='/' component={Home} />
<Route exact path='/:category' component={Category} />
<Route path='/:category/:post_id' component={PostDetail} />
</Switch>
</BrowserRouter>
</ApolloProvider>
)
}
}
export default App
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment