Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warn When dispatching During Middleware Setup #1485

Merged
merged 4 commits into from
Sep 4, 2016

Conversation

timdorr
Copy link
Member

@timdorr timdorr commented Mar 6, 2016

Recreates #1345
Closes #1240

Switched this to throw an error now.


* To ensure that you may only apply middleware once, it operates on `createStore()` rather than on `store` itself. Instead of `(store, middlewares) => store`, its signature is `(...middlewares) => (createStore) => createStore`.

Because it is cumbersome to apply functions to `createStore()` before using it, `createStore()` accepts an optional last argument to specify such functions.

#### Caveat: Dispatching During Setup

While `applyMiddleware` sets up your middleware, the `store.dispatch` function will point to the vanilla version provided by `createStore`. None of the other middleware will be applied to this `dispatch` until after setup is complete. If you are expecting an interaction with another middleware during setup, you will probably be disappointed. Instead, you should either communicate directly with that other middleware via a common object (for an API calling middleware, this may be your API client object) or waiting until after the middleware is constructed with a callback.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docs need updating

@timdorr
Copy link
Member Author

timdorr commented Mar 8, 2016

All set.

@gaearon gaearon added this to the 4.0 milestone Apr 4, 2016
@timdorr timdorr merged commit 0bca1b5 into next Sep 4, 2016
@timdorr timdorr deleted the warn-on-middleware-dispatch branch September 4, 2016 18:01
timdorr added a commit that referenced this pull request Jan 5, 2017
* Add a doc section on dispatching during middleware setup.

* Warn when dispatching during middleware setup.

* Upgrade the warning to an error.

* Update docs to match thrown error behavior.
timdorr added a commit that referenced this pull request Apr 25, 2017
* Add a doc section on dispatching during middleware setup.

* Warn when dispatching during middleware setup.

* Upgrade the warning to an error.

* Update docs to match thrown error behavior.
timdorr added a commit that referenced this pull request Oct 22, 2017
* Add a doc section on dispatching during middleware setup.

* Warn when dispatching during middleware setup.

* Upgrade the warning to an error.

* Update docs to match thrown error behavior.
timdorr added a commit that referenced this pull request Oct 22, 2017
* Add a doc section on dispatching during middleware setup.

* Warn when dispatching during middleware setup.

* Upgrade the warning to an error.

* Update docs to match thrown error behavior.
timdorr added a commit that referenced this pull request Oct 23, 2017
* Add a doc section on dispatching during middleware setup.

* Warn when dispatching during middleware setup.

* Upgrade the warning to an error.

* Update docs to match thrown error behavior.
timdorr added a commit that referenced this pull request Nov 3, 2017
* Add a doc section on dispatching during middleware setup.

* Warn when dispatching during middleware setup.

* Upgrade the warning to an error.

* Update docs to match thrown error behavior.
timdorr added a commit that referenced this pull request Nov 16, 2017
* Add a doc section on dispatching during middleware setup.

* Warn when dispatching during middleware setup.

* Upgrade the warning to an error.

* Update docs to match thrown error behavior.
seantcoyote pushed a commit to seantcoyote/redux that referenced this pull request Jan 14, 2018
* Add a doc section on dispatching during middleware setup.

* Warn when dispatching during middleware setup.

* Upgrade the warning to an error.

* Update docs to match thrown error behavior.
tomipaul pushed a commit to tomipaul/redux that referenced this pull request Apr 8, 2018
* Add a doc section on dispatching during middleware setup.

* Warn when dispatching during middleware setup.

* Upgrade the warning to an error.

* Update docs to match thrown error behavior.
@benoneal benoneal mentioned this pull request Jun 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants