Storybook: Use Mantra?

Created on 3 Apr 2016  路  7Comments  路  Source: storybookjs/storybook

I think this is a very good way to show mantra to the JS community.

Also, different devs have different storybook use case. With mantra, core module can export a set of apis to allow other devs to add features easily without affecting the core.

discussion

Most helpful comment

Okay. This is very good point. I thought using Storybook for Mantra apps. But, this is other way around and very interesting.

I think I kind a like it. Will work on it.

All 7 comments

Yes it is.
I think we should thinking to rebrand Mantra as an architecture for React. Let's have a chat on the Mantra forum. (What I am planning to do in the early next week)

Okay. This is very good point. I thought using Storybook for Mantra apps. But, this is other way around and very interesting.

I think I kind a like it. Will work on it.

Storybook is gaining more and more attention. With mantra structure, other devs can work on new features (mantra module) and distribute it to npm. Then storybook users can just npm install react-storybook-[feature] and boom! [feature] is added. But normally features would require a layout change. For example, adding a resizer would certainly change the layout. I'm not sure how we can approach this smoothly.

Yes. I get it. That's really good.

@sammkj Now we use Mantra.
More info here.

Hope we can close this now.

I have some problems with @storybook/mantra-core
I have a meteor v1.6.1 app, with [email protected]. But I have a problem with the composeWithTracker function. This function have been taken off react-komposer@2, used by storybook, but is still declared in /dist/index. So, I have a question. How could I send data from my containers to my components? Need help please.
When I do this in my container with :

import {useDeps, composeWithTracker, composeAll} from '';
export const classeComposer = ({context}, onData) =>{
const {Meteor, FlowRouter, Collections,} = context();
if (Meteor.subscribe('classes.list').ready()){
const lesClasses = Collections.Classes.find({},
{fields: {_id:1, code:1, nbrePlaces:1},
sort: {code:1, nbrePlaces:1}}).fetch();
const nbreClasses = Collections.Classes.find({}).count();
onData(null, { lesClasses, nbreClasses});
}else{
onData();
}
};
export const classeMapper = (context, actions) => ({
addclasse: actions.classes.addclasse,
updateclasse: actions.classes.updateclasse,
deleteclasse: actions.classes.deleteclasse,
context: () => context
});

export default (component) => composeAll(
composeWithTracker(classeComposer),
useDeps(classeMapper)
)(component);

I have this error in my consol:

Uncaught (in promise) TypeError: composeWithTracker is not a function
at eval (/imports/modules/core/containers/Classes.js:88:21)
at Route._callee$ (http://localhost:4000/app/app.js?hash=9e577aa13e8896245acee791ed37df88948a09c2:381:32)
at tryCatch (http://localhost:4000/packages/modules.js?hash=5763c96b3eee7f2b55565963c705a396d19a512b:34210:40)
at Generator.invoke [as _invoke] (http://localhost:4000/packages/modules.js?hash=5763c96b3eee7f2b55565963c705a396d19a512b:34444:22)
at Generator.prototype.(anonymous function) [as next] (http://localhost:4000/packages/modules.js?hash=5763c96b3eee7f2b55565963c705a396d19a512b:34262:21)
at tryCatch (http://localhost:4000/packages/modules.js?hash=5763c96b3eee7f2b55565963c705a396d19a512b:34210:40)
at invoke (http://localhost:4000/packages/modules.js?hash=5763c96b3eee7f2b55565963c705a396d19a512b:34300:20)
at http://localhost:4000/packages/modules.js?hash=5763c96b3eee7f2b55565963c705a396d19a512b:34310:13
at http://localhost:4000/packages/meteor.js?hash=b0f12795c8cc1423b5850502871996903f947ed5:1167:22
at

Need help please.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

shilman picture shilman  路  3Comments

ZigGreen picture ZigGreen  路  3Comments

tlrobinson picture tlrobinson  路  3Comments

tirli picture tirli  路  3Comments

wahengchang picture wahengchang  路  3Comments