You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Redux is a predictable state container for JavaScript apps.
4
4
(Not to be confused with a WordPress framework – [Redux Framework](https://reduxframework.com/).)
@@ -19,7 +19,7 @@ It is tiny (2kB, including dependencies).
19
19
>**[Part 1: Getting Started with Redux](https://egghead.io/series/getting-started-with-redux) (30 free videos)**<br>
20
20
>**[Part 2: Building React Applications with Idiomatic Redux](https://egghead.io/courses/building-react-applications-with-idiomatic-redux) (27 free videos)**
21
21
22
-
###Testimonials
22
+
## Testimonials
23
23
24
24
>[“Love what you're doing with Redux”](https://twitter.com/jingc/status/616608251463909376)
25
25
>Jing Chen, creator of Flux
@@ -30,21 +30,21 @@ It is tiny (2kB, including dependencies).
30
30
>[“It's cool that you are inventing a better Flux by not doing Flux at all.”](https://twitter.com/andrestaltz/status/616271392930201604)
31
31
>André Staltz, creator of Cycle
32
32
33
-
###Before Proceeding Further
33
+
## Before Proceeding Further
34
34
35
35
>**Also read:**
36
36
>**[You Might Not Need Redux](https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367)**
37
37
38
-
###Developer Experience
38
+
## Developer Experience
39
39
40
40
I wrote Redux while working on my React Europe talk called [“Hot Reloading with Time Travel”](https://www.youtube.com/watch?v=xsSnOQynTHs). My goal was to create a state management library with minimal API but completely predictable behavior, so it is possible to implement logging, hot reloading, time travel, universal apps, record and replay, without any buy-in from the developer.
41
41
42
-
###Influences
42
+
## Influences
43
43
44
44
Redux evolves the ideas of [Flux](http://facebook.github.io/flux/), but avoids its complexity by taking cues from [Elm](https://github.com/evancz/elm-architecture-tutorial/).
45
45
Whether you have used them or not, Redux only takes a few minutes to get started with.
46
46
47
-
###Installation
47
+
## Installation
48
48
49
49
To install the stable version:
50
50
@@ -62,7 +62,7 @@ If you don't use a module bundler, it's also fine. The `redux` npm package inclu
62
62
63
63
The Redux source code is written in ES2015 but we precompile both CommonJS and UMD builds to ES5 so they work in [any modern browser](http://caniuse.com/#feat=es5). You don't need to use Babel or a module bundler to [get started with Redux](https://github.com/reactjs/redux/blob/master/examples/counter-vanilla/index.html).
64
64
65
-
####Complementary Packages
65
+
### Complementary Packages
66
66
67
67
Most likely, you'll also need [the React bindings](https://github.com/reactjs/react-redux) and [the developer tools](https://github.com/gaearon/redux-devtools).
Note that unlike Redux itself, many packages in the Redux ecosystem don't provide UMD builds, so we recommend using CommonJS module bundlers like [Webpack](https://webpack.js.org/) and [Browserify](http://browserify.org/) for the most comfortable development experience.
75
75
76
-
###The Gist
76
+
## The Gist
77
77
78
78
The whole state of your app is stored in an object tree inside a single *store*.
79
79
The only way to change the state tree is to emit an *action*, an object describing what happened.
@@ -135,7 +135,7 @@ If you're coming from Flux, there is a single important difference you need to u
135
135
136
136
This architecture might seem like an overkill for a counter app, but the beauty of this pattern is how well it scales to large and complex apps. It also enables very powerful developer tools, because it is possible to trace every mutation to the action that caused it. You can record user sessions and reproduce them just by replaying every action.
137
137
138
-
###Learn Redux from Its Creator
138
+
## Learn Redux from Its Creator
139
139
140
140
[Getting Started with Redux](https://egghead.io/series/getting-started-with-redux) is a video course consisting of 30 videos narrated by Dan Abramov, author of Redux. It is designed to complement the “Basics” part of the docs while bringing additional insights about immutability, testing, Redux best practices, and using Redux with React. **This course is free and will always be.**
141
141
@@ -156,11 +156,11 @@ This architecture might seem like an overkill for a counter app, but the beauty
156
156
157
157
So, what are you waiting for?
158
158
159
-
####[Watch the 30 Free Videos!](https://egghead.io/series/getting-started-with-redux)
159
+
### [Watch the 30 Free Videos!](https://egghead.io/series/getting-started-with-redux)
160
160
161
161
If you enjoyed my course, consider supporting Egghead by [buying a subscription](https://egghead.io/pricing). Subscribers have access to the source code of every example in my videos and tons of advanced lessons on other topics, including JavaScript in depth, React, Angular, and more. Many [Egghead instructors](https://egghead.io/instructors) are also open source library authors, so buying a subscription is a nice way to thank them for the work that they've done.
@@ -175,7 +175,7 @@ For PDF, ePub, and MOBI exports for offline reading, and instructions on how to
175
175
176
176
For Offline docs, please see: [devdocs](http://devdocs.io/redux/)
177
177
178
-
###Examples
178
+
## Examples
179
179
180
180
Almost all examples have a corresponding CodeSandbox sandbox. This is an interactive version of the code that you can play with online.
181
181
@@ -192,11 +192,11 @@ Almost all examples have a corresponding CodeSandbox sandbox. This is an interac
192
192
193
193
If you're new to the NPM ecosystem and have troubles getting a project up and running, or aren't sure where to paste the gist above, check out [simplest-redux-example](https://github.com/jackielii/simplest-redux-example) that uses Redux together with React and Browserify.
194
194
195
-
###Discussion
195
+
## Discussion
196
196
197
197
Join the [#redux](https://discord.gg/0ZcbPKXt5bZ6au5t) channel of the [Reactiflux](http://www.reactiflux.com) Discord community.
198
198
199
-
###Thanks
199
+
## Thanks
200
200
201
201
*[The Elm Architecture](https://github.com/evancz/elm-architecture-tutorial) for a great intro to modeling state updates with reducers;
202
202
*[Turning the database inside-out](http://www.confluent.io/blog/turning-the-database-inside-out-with-apache-samza/) for blowing my mind;
@@ -211,16 +211,16 @@ Join the [#redux](https://discord.gg/0ZcbPKXt5bZ6au5t) channel of the [Reactiflu
211
211
212
212
Special thanks to [Jamie Paton](http://jdpaton.github.io) for handing over the `redux` NPM package name.
213
213
214
-
###Logo
214
+
## Logo
215
215
216
216
You can find the official logo [on GitHub](https://github.com/reactjs/redux/tree/master/logo).
217
217
218
-
###Change Log
218
+
## Change Log
219
219
220
220
This project adheres to [Semantic Versioning](http://semver.org/).
221
221
Every release, along with the migration instructions, is documented on the Github [Releases](https://github.com/reactjs/redux/releases) page.
222
222
223
-
###Patrons
223
+
## Patrons
224
224
225
225
The work on Redux was [funded by the community](https://www.patreon.com/reactdx).
226
226
Meet some of the outstanding companies that made it possible:
@@ -230,6 +230,6 @@ Meet some of the outstanding companies that made it possible:
230
230
231
231
[See the full list of Redux patrons](PATRONS.md), as well as the always-growing list of [people and companies that use Redux](https://github.com/reactjs/redux/issues/310).
0 commit comments