React App uses TheMovieDb API
To fast install dependences, I recommend to use yarn. Otherwise, you can use
npm run instead
npm i && npm run dev
npm run test
npm run build
Your build version will be under
Dynamic page routing
The project able to generate routes base
Pages/index.js file, as long as creating new page under
Pages folder, and export it in
Libs/RouterWrapper will generate routes.
AppContainer.js file about dynamic routing.
As we don’t use Redux, so I implement lightweight state management mechanic, treat
AppContainer.js state as global store, and passing
store data through
RouterWrapper to each pages, there are two pages on the project,
DetailPage, both of them will have a
store props, you can acces store such like
const store = props.store;
RouterWrapper will pass
AppContainer to every pages, so you can access the container from the props.
const root = props.root;
AppContainer itself, and then you can update global store in the page:
Most of components are stateless component, as we only need to render the view with data, no complex logic and inner state management needed.
react-infinite-scroller component for infinite scroller feature.
The stylesheet are following BEM naming convention, I don’t have much time to create utilities css class, but I would really love to implement flexbox base css grids system.