我是日本人,英语不好,但我要感谢你。
我想将故事书与ReactNative一起使用,但它不起作用。
$ npm i -g @storybook/cli
$ getstorybook
$ npm startu storybook
通过执行此操作,将执行默认包含的故事书,并正确显示默认按钮(象形图)等。
虽然到目前为止很好,但我无法很好地加载自制组件。
虽然stories (index.stories.tsx)
目录的内容如下所示,但未读取目录中的 src
。
├── app.tsx
└── components
├── atoms
│ ├── Button
│ │ ├── index.stories.tsx ←this
│ │ └── index.tsx
│ ├── Heading
│ │ ├── index.stories.tsx ←this
│ │ └── index.tsx
在github中查找ReactNative以外的项目似乎创建了一个名为.storybook
的目录,
在ReactNative的情况下,一个名为storybook
的目录与src并行创建,似乎已加载。
├── storybook
│ ├── addons.js
│ ├── index.android.js
│ ├── index.ios.js
│ ├── index.js
│ ├── stories
│ │ ├── Button
│ │ │ ├── index.android.js
│ │ │ └── index.ios.js
│ │ ├── CenterView
│ │ │ ├── index.js
│ │ │ └── style.js
│ │ ├── Welcome
│ │ │ └── index.js
│ │ └── index.js
│ └── storybook.js
storybook/storybook.js
中的
configure(() => {
require('./stories');
}, module);
将路径更改为
module.exports = require.context('../components/', true, /.*\.stories.tsx$/)
但是,显示以下错误。
TypeError: require.context is not a function
通过引用this page
安装react-native-storybook-loader创建的storybook / storyLoader.js
的内容是
function loadStories() {
require('../src/components/atoms/Button/index.stories');
require('../src/components/atoms/Heading/index.stories');
require('../src/components/atoms/ListItem/index.stories');
}
这样,扩展名无法正常显示,故事书上也没有显示任何内容。
如何根据特定规则使用ReactNative读取某个位置的故事(如上述目录结构)?
我很快就不知道ReactNative,storybook或Typescript,我也不知道原因。
在这段时间里,打字稿并没有得到太多的考虑,我们还没有为打字稿做过故事书设置等,但也许可能是原因。
谢谢你的时间。