Comments (4)
Usage with example from README:
var Reflux = require('Reflux');
/**
* Actions
*/
var status = new Reflux.Actions(['update', 'edit', 'add']);
/**
* Store
*/
var statusStore = new Reflux.Store();
statusStore.on(status.update, function(flag) {
var status = flag ? 'ONLINE' : 'OFFLINE';
this.done(status);
});
/**
* Component
*/
var Status = React.createClass({
initialize: function() { },
onStatusChange: function(status) {
this.setState({
currentStatus: status
});
},
componentDidMount: function() {
this.unsubscribe = statusStore.listen(this.onStatusChange);
},
componentWillUnmount: function() {
this.unsubscribe();
},
render: function() {
// render specifics
status.update(true);
}
});
from refluxjs.
Yeah, second snippet of code now makes much more sense than the PR from earlier (i.e. #13).
I'd love it more if the on
function in stores can accept other store's as well to be able to do the aggregate store story. I still see value in passing in a constructor object to Reflux.Store
as in Reflux.createStore
.
Also I believe we can add aliases if users find it more suitable to use Reflux.Store
instead of Reflux.createStore
, Reflux.Actions
instead of Reflux.createActions
, and Store.on
instead of Store.listenTo
.
I think it was a bit of a mistake to pass in an array to Reflux.createActions
earlier when Reflux might as well can use the arguments
object with strings instead. I.e. instead of:
var status = Reflux.Actions(["update", "edit", "add"]);
... it should be able to do the same like this:
var status = Reflux.Actions("update", "edit", "add");
from refluxjs.
on
function in stores should already accept either action or stores. Same applies for dependencies.
Passing context object to Reflux.Store
probably makes sense:
var obj = {};
obj.cowSound = 'moo';
obj.moo = function(some, args, done) {
console.log(this.cowSound);
done(result);
};
var statusStore = new Reflux.Store(obj);
statusStore.on(status.update, obj.moo);
Agreed that parameters shouldn't be an array.
from refluxjs.
👎
from refluxjs.
Related Issues (20)
- init not firing HOT 1
- Object doesn't support property or method 'createActions' IE 11 HOT 1
- Support of React.js v16 HOT 6
- How are keys handled if a component is attached to multiple stores with the same key? HOT 2
- Async/await pattern with async actions HOT 3
- can we have react 16.x compatibility HOT 4
- TypeError: str.listen is not a function HOT 1
- Extending Reflux Store HOT 1
- async in Server Rendering HOT 1
- TypeError: Super expression must either be null or a function, not undefined HOT 1
- setState callback not executed in store HOT 2
- setState should support callbacks, same as the typical react setState HOT 1
- reflux store this.setState callback
- Store listening to actions after dismount
- async actions return undefined instead of Promise HOT 3
- Cannot Use Reflux Components With React getDerivedStateFromProps() Static Method HOT 3
- Roadmap questions HOT 5
- react组件中获取元素节点,使用focus方法,报错focus未定义
- Feature Request: Make Reflux available for Functional Components HOT 1
- Please mark project as dead
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 refluxjs.