Comments (3)
@christianalfoni Another option to enable this use case, which is kind of interesting, is to pass arguments down if nothing is returned in the action. So:
cerebral.signal('login', session.loading, session.create, session.set)
function login() {
// this payload needs to be sent through the loading action
this.signals.login({email: 'foo', password: 'bar'})
}
// no return, so any arguments that were passed into this, get forwarded onto the next signal
let loading = function (cerebral) {
cerebral.set(['session', '$loading'], true)
}
// payload is passed through to this action
let create = function (cerebral, payload) {
// this is an async function
return Remote.create(Remote.models.SESSION, payload, false)
}
let set = function (cerebral, result) {
if (result.data) {
localStorage.session = JSON.stringify(result.data)
cerebral.set('session', result.data)
} else {
cerebral.set('session', {
$loading: false,
$error: result.error
})
}
return result.data
}
export default {
loading: loading,
create: create,
set: set
}
from cerebral.
Did our hangout session answer these questions? :-) Maybe take a look at next arg-set, return path etc. implementation and move from there?
from cerebral.
Just closing this, I think we talked about it ;-)
from cerebral.
Related Issues (20)
- compute from computed from another computed does not work HOT 7
- Allow providers to have keys other than functions HOT 1
- What happened to mobx-state-tree HOT 4
- Change in computed state does not trigger reactions HOT 2
- A certain combination of feature usage causes forceUpdate() on an unmounted component HOT 1
- How to use cerebral in vue-router hooks? HOT 2
- reaction errors HOT 7
- module.signals is DEPRECATED but controller in @cerebral/mobx-state-tree can't provide sequences HOT 1
- Can't resolve nested value via moduleState HOT 2
- Docs test page spelling error HOT 2
- When using devtools, cannot change store state using string path. HOT 1
- codesandbox.io using wrong cerebral version. HOT 1
- Setting non-existent path in state works without devtools, throws error with devtools HOT 1
- Cerebral v4: Deprecated React lifecycle methods HOT 1
- function-tree Can't resolve './StopExecution' HOT 3
- Can't resolve nested value via moduleState (from computed) HOT 1
- Cerebral 5.2.0: inferno does render child before parent HOT 2
- access dotted keys HOT 1
- parallel does not work as expected HOT 1
- `addModule` doesn't initialize reactions
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 cerebral.