我想将React组件(称为ApplicationForm
)添加到storybook。
故事书是这样写的:
import { configureStore } from '../store';
const store = configureStore();
storiesOf('application from', module)
.addDecorator(story => <Provider store={store}>{story()} </Provider>)
.add('all', () => (
<ApplicationForm />
));
ApplicationForm
是使用reduxForm创建的。这就是为什么我需要在store
函数中提供addDecorator
。
不幸的是,在configureStore
函数中,约化器之一具有全局数据window.GLOBAL
的依赖性。
在故事书中,我将看到以下错误:
GLOBAL is not defined
ReferenceError: GLOBAL is not defined
at initGlobalState (http://localhost:9010/static/preview.bundle.js:86625:3)
如何在故事书中注入或模拟此类全局数据?
答案 0 :(得分:5)
我可以在preview-head.html
目录中添加一个__stories__
文件。
里面有这样的javascript:
<script>
var data = { };
window.GLOBAL = {
data: data
};
</script>
答案 1 :(得分:1)
您要访问的window
是iframe预览。
尝试从iframe外的故事书window
访问窗口。
window.parent.window.GLOBAL