Skip to content

Instantly share code, notes, and snippets.

@DreySkee
Created June 16, 2017 17:10
Show Gist options
  • Save DreySkee/23e0c966856adff0afde6cb43c5df96c to your computer and use it in GitHub Desktop.
Save DreySkee/23e0c966856adff0afde6cb43c5df96c to your computer and use it in GitHub Desktop.
14 - Wordpress API + ReactJS (Updated)
import {render} from 'react-dom';
import DataActions from 'flux/actions/DataActions.js';
import Home from 'components/Home.js';
import About from 'components/About.js';
import Header from 'components/Header.js';
import {
BrowserRouter as Router,
Route,
Redirect,
Switch
} from 'react-router-dom';
class AppInitializer {
templates = {
'about': About
}
buildRoutes(data){
return data.pages.map((page, i) => {
return(
<Route
key={i}
component={this.templates[page.slug]}
path={`/${page.slug}`}
exact
/>
)
})
}
run() {
DataActions.getPages((response)=>{
render(
<Router>
<div>
<Header />
<Switch>
<Route path="/" component={ Home } exact />
{this.buildRoutes(response)}
<Route render={() => { return <Redirect to="/" /> }} />
</Switch>
</div>
</Router>
, document.getElementById('app')
);
});
}
}
new AppInitializer().run();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment