Created
June 16, 2017 17:10
-
-
Save DreySkee/23e0c966856adff0afde6cb43c5df96c to your computer and use it in GitHub Desktop.
14 - Wordpress API + ReactJS (Updated)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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