Comments (6)
Sorry that I intervene, but I don't think that "actions should be serializable" is limitation of react-chrome-redux.
As mentioned in this discussion, actions in redux should be plain objects. So creating not serializable actions is limitation of libraries that do that.
Maybe it really worth noting the fact of serializablility of actions in "reminder" section. Again, in my option, it's not limitation but conformance to redux architecture.
from webext-redux.
@viskin It is not a limitation of react-chrome-redux
but of Chrome Extension Messaging API:
A message can contain any valid JSON object (null, boolean, number, string, array, or object).
The Redux app might work without a problem on the web or mobile (with react-native
), but when you start porting it to the Chrome ecosystem you will encounter unexpected behavior. Moreover, there are no errors; actions just come to the background page without "non-serializable" fields.
redux-thunk
async actions also can't be serialized, so the aliases
hack exists. Probably we can re-use that trick for other middlewares, but we should at least highlight that in README.
from webext-redux.
@mironov Have you looked into dispatchResponder? This was included to allow a "conversion" to a serializable object that the UI Components understand. The bottom example is an example with redux-promise-middleware
. Please let us know if this helps (or not)!
from webext-redux.
Also, I'm happy to work with someone on the README sections. Right now it exists as a collection of wiki links.
from webext-redux.
@tshaddix Oh wow! Sorry, I overlooked this example somehow.
I think the easiest thing to do is to change headers to "Usage with redux-thunk" and "Usage with a promise middleware" on the Advanced Usage page.
Feel free to close the issue since the workaround is already documented.
from webext-redux.
@mironov, great to hear!
I agree we should probably breakout the Readme sections into something a little more recognizable. I would like to keep the documentation package-agnostic. Ideas?
from webext-redux.
Related Issues (20)
- Hot reloading using yarn start leads to error - chrome.runtime.connect() called from a webpage must specify an Extension ID
- Ensure chrome api available before checking lastError
- Mozilla WebExtension-Polyfill support? HOT 3
- What is way to creating Chrome extention with default create-react-app?
- Cannot read properties of undefined (reading 'error') HOT 1
- Storyful is using webext-redux
- wrapStore tabs.query has extra argument
- "can't access dead object" while developing on Firefox
- saga middleware typescript problem
- Question: Advise for hot reloading in development HOT 1
- Doesn't work with react-redux v8 HOT 3
- Is manifest version 3 support planned? HOT 4
- How to fix Uncaught TypeError: Cannot read properties of undefined (reading 'state') HOT 7
- Data not persisting HOT 2
- React Redux State updated value not showing on page refresh
- Is this repo still actively maintained & supported?
- middleware warning when using rtk-query
- useselector not working despite providing store HOT 1
- How to re-sync store from "content script" with background.js (service worker)? HOT 2
- Cannot install webext-redux next to react-redux
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webext-redux.