Comments (4)
The clearErrors
come from this file: https://github.com/mantrajs/mantra-sample-blog-app/blob/master/client/modules/core/actions/posts.js
This line will combine actions and context together.
from mantra-sample-blog-app.
@xcv58 I know that actions and context is in the container,but the clearnErrors in the https://github.com/mantrajs/mantra-sample-blog-app/blob/master/client/modules/core/actions/posts.js have the module namespace: https://github.com/mantrajs/mantra-sample-blog-app/blob/master/client/modules/core/actions/index.js
import posts from './posts';
export default {
posts
};
And in Mantra-core API.js:
_bindContext(_actions) {
const actions = {};
for (let key in _actions) {
if (_actions.hasOwnProperty(key)) {
const actionMap = _actions[key];
const newActionMap = {};
for (let actionName in actionMap) {
if (actionMap.hasOwnProperty(actionName)) {
newActionMap[actionName] =
actionMap[actionName].bind(null, this.context);
}
}
actions[key] = newActionMap;
}
}
return actions;
}
The key is the "module namespace".So, I will use it by "acions.posts.clearErrors", like the "Actions with the same export name will be overwritten #10":"Modules should be independent of each other so as action methods".
At the same time, this container :newpost.js have the depsMapper functions whose argument is (context, actions),look here:
export const depsMapper = (context, actions) => ({
create: actions.posts.create,
clearErrors: actions.posts.clearErrors,
context: () => context
});
It ues the "create" and "clearErrors" in the actions by the "module namespace:posts".
Why ?
from mantra-sample-blog-app.
@norain2050 You are misunderstanding how compose
get props. The compose
function's first argument is props
. The props is whatever props the parent pass to the container, plus the result of depsMapper
.
The idea is that you don't need to pass all actions to the component, you can only pass necessary action(s) to your component. The depsMapper
will do this for you and eliminate the long namespace.
You can take a look at my implementation: https://github.com/ops-class/test161-web-ui/blob/master/app/src/client/modules/core/containers/submissionlist.js#L4-L45
from mantra-sample-blog-app.
@xcv58 Thank you very much.Now, I had understanded it.
from mantra-sample-blog-app.
Related Issues (20)
- MUI leeds to Uncaught Invariant Violation
- storybook fails with unmodified repo, and with meteor 1.3.2.4 HOT 5
- jsdom error on npm test HOT 3
- FlowRouter SSR don't work properly HOT 1
- Git project description demo URL needs updating HOT 1
- Meteor.uuid is deprecated and untrusted on the client side HOT 5
- Failed to parse SourceMap: http://localhost:3000/packages/5b3...a10.map HOT 2
- Comments on naming variables
- Unable to resolve some modules: lib/collections HOT 3
- broken link at top of https://github.com/mantrajs/mantra-sample-blog-app HOT 1
- why not testing server code with wallaby?
- Why fetch in composer? HOT 6
- How to check authenticated routes? HOT 1
- no .meteor.com anymore HOT 1
- Cannot Deploy to Galaxy from Mac (Due to binary NPM modules in dev dependencies) HOT 6
- how to bind some arg to all actions ? HOT 1
- loading component HOT 2
- This fails on my system with storybook (app and tests its ok) HOT 1
- FindOne instead find in post.single publication 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 mantra-sample-blog-app.