Comments (7)
Yeah that's a good idea. It would be nice to use the invariant module that
is a dependency of the dispatcher for this. But I think we have not
exposed it in the npm module, so maybe we should do that.
@zpao, any thoughts on this?
from flux.
require('flux/lib/invariant')
will work for node & anything using browserify/webpack. This is how it's "exposed" with React as well. I don't think it should be exposed at the top level, it's weird (require('flux').invariant
feels wrong, invariant
is entirely unrelated). Ultimately we want to get to a point where these shared dependencies are not duplicated and bundled like this and they are usable in a sane way for third parties. But in the mean time, the relative module path works.
from flux.
I've had a chat with a few colleagues and it feels like implementing this within the dispatcher would make more sense (otherwise each store fires an error).
Adding a simple action validator method on the Dispatcher dispatch method is rather straight forward and require 0 code change from the users. Does this sound sensible?
from flux.
Yes, sounds great. Really great idea. Looking forward to the pull request!
from flux.
#59 is this ok?
from flux.
Answered in the pull request, but basically, I'm concerned that the dispatcher would need to know the structure of the payload.
from flux.
Since the examples all seem to follow this specific implementation I just assumed this was the intended way to use the actions.
I understand the problem, though if I'm completely honest - I'm not sure that enforcing specific structure / naming conventions are necessary bad.
I've been using Backbone for a good while now, and the biggest hurdle in learning how to use it properly is what I consider to be fake freedom that they offer. It seems amazing at first, but as soon as you start building bigger applications you begin to stumble into quite a few problems.
Now the community did come up with best practices and certain tools / wrappers (like Marionette) were invented but this (in my opinion again) is too little too late - and frameworks like AngularJS just gain huge traction.
Now I'm not suggesting to turn Flux into anything that all encompassing, but I'm also weary of leaving these (and others?) known issues to the individual implementation just for the sake of what seems like edge cases?
Obviously just my own opinion here :)
from flux.
Related Issues (20)
- Cannot dispatch in the middle of a dispatch. HOT 1
- New Flux store instance created upon second component referencing store HOT 7
- Flux Utils + Hooks HOT 6
- TypeError: Class constructor App cannot be invoked without 'new' HOT 1
- Using version of fbjs that depends on unsupported core-js module HOT 2
- Please update the following components: FluxContainer(containerClass) React 16.10.2 HOT 5
- how do we differ from Architecture and pattern? HOT 1
- Is this code a good way to update react component from dispatch in OOP class object? HOT 2
- Flux container breaks class methods defined with class properties syntax HOT 1
- Container create context issues after Babel 7.9.x update. HOT 5
- CVE-2020-15168 found in [email protected] HOT 13
- CVE-2020-7733 vulnerability by linking to an older fbjs version HOT 2
- Is fbemitter project discontinued? Is flux? HOT 1
- Add React 17 support
- NPM reports flux vulnerabilities HOT 3
- CVE-2021-27292: ua-parser-js needs to upgrade to 0.7.24 HOT 4
- mock flux store - react test HOT 2
- Will there be a Chinese version? HOT 1
- Video goes off screen and does not fit neatly HOT 1
- Add react-18 as peer dependency. HOT 1
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 flux.