Skip to content

Commit 707c818

Browse files
committed
Update README.md
Server rendering, inline styles, reorg a bit
1 parent b0c372c commit 707c818

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

README.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,15 @@ You should learn, in this order, **without skipping ahead or learning concurrent
2626
* [ES6](#learning-es6)
2727
* [Routing](#learning-routing)
2828
* [Flux](#learning-flux)
29+
30+
**You don't need to learn all of these to be productive with React.** Only move to the next step if you have a problem that needs to be solved.
31+
32+
Additionally, there are a few topics that are often mentioned in the React community that are "bleeding edge". The topics below are interesting, but they're difficult to understand and **aren't required for most apps**.
33+
* [Inline styles](#learning-inline-styles)
34+
* [Server rendering](#learning-server-rendering)
2935
* [Immutable.js](#learning-immutablejs)
3036
* [Relay, Falcor, etc](#learning-relay-falcor-etc)
3137

32-
Also: **you don't need to learn all of these to be productive with React.** Only move to the next step if you have a problem that needs to be solved.
33-
3438
## Learning React itself
3539

3640
It’s a common misconception that you need to waste a lot of time setting up tooling to start to learn React. In the official documentation you’ll find a [copy-paste HTML template](https://facebook.github.io/react/docs/getting-started.html#quick-start-without-npm) that you can save in an `.html` file and get started right away. **No tooling is required for this step, and don’t start learning extra tooling until you’re comfortable with React basics.**
@@ -77,6 +81,18 @@ React components are arranged in a hierarchy. Most of the time, your data model
7781

7882
If you have decided to use Flux, the most popular and well-documented Flux library is [Redux](http://redux.js.org/). There are *a lot* of alternatives out there, and you’ll be tempted to evaluate lots of them, but my advice is to just stick with the most popular one.
7983

84+
## Learning inline styles
85+
86+
A lot of people reuse CSS styles with complicated style sheets. Since React makes writing reusable components easy, your stylesheets can be less complicated. Many in the community (including myself) are experimenting with getting rid of stylesheets altogether.
87+
88+
This is a fairly crazy idea for a number of reasons. It makes media queries more difficult, and it's possible that there are performance limitations using this technique. **When starting out with React, just style things the way you normally would.** Once you've got a feel for how React works, you can look at alternate techniques. One popular one is [BEM](https://en.bem.info/).
89+
90+
## Learning server rendering
91+
92+
Server rendering is often called "universal" or "isomorphic" JS. It means that you can take your React components and render them to static HTML on the server. You need server rendering if you notice that your initial render is too slow (because the browser needs to download a bunch of JavaScript) or if you want to improve your search engine ranking (while it's true that Google now indexes client-rendered content, as of January 2016 every time it's been measured it's been shown to negatively affect ranking, potentially because of initial render performance).
93+
94+
Server rendering still requires a lot of tooling to get right. Since it transparently supports React components written without server rendering in mind, you should build your app first and worry about server rendering later. You won't need to rewrite all of your components to support it.
95+
8096
## Learning Immutable.js
8197

8298
[Immutable.js](https://facebook.github.io/immutable-js/) provides a set of data structures that can help to solve certain performance issues when building React apps. It's a great library, and you'll probably use it a lot in your apps moving forward, but it's completely unnecessary until you have an appreciation of the performance implications.

0 commit comments

Comments
 (0)