Rendering components to strings
One of the beautiful things about React is that it works in many places. It is aimed at rendering interfaces efficiently, but those interfaces can extend outside of the DOM and the browser.
You can use React to render native mobile interfaces (https://facebook.github.io/react-native), or even plain HTML strings. This becomes useful when we want to reuse the component code in different places.
We can, for instance, build an intricate data table component for our CMS. We can ship that component to an iPad application or even render it from the web server as a way of minimizing page load time.
It's the latter example that we will try in this chapter. To begin, we need to install the source versions of React and React DOM libraries:
$ npm install --save babel-cli babel-preset-react babel-preset-es2015 react react-dom
We've already seen examples of the React libraries, but these new ones (from BabelJS) will give us a way of using ES6 and JSX on the server. They even...