React does not give much guidance on how to construct applications. In order to even deploy a basic Hello World with React, you need to configure Babel and Webpack.
Facebook has created a tool to let us skip that setup with: facebookincubator/create-react-app
This is a great start for JSX, ES6, linting, hot code reloading and build tools.
But, I normally need a lot more in my applications: Ajax, Redux, Redux Devtools, Authentication, etc..
It can be painful to set up all the pieces. There are over 18,000 react packages on npm.
I prefer starting with a boiler plate project. I recommend using one of the following:
- coryhouse/react-slingshot: React + Redux starter kit with Babel, hot reloading, testing, linting and a working example app, all built in
- kriasoft/react-starter-kit: React Starter Kit — isomorphic web app boilerplate (Node.js, Express, GraphQL, React.js, Babel 6, PostCSS, Webpack, Browsersync)
- infinitered/ignite: The unfair starting CLI, Generator, and more for React Native
- este/este: Starter kit for full–fledged React apps. One stack for browser, mobile, server.