我正在尝试通过故事书访问 contextAPI 中的数据,但我无法管理它。请记住,原始页面没有任何问题,上下文工作正常。
React 版本:17.0.2 Storybook 版本:6.2.7 这是 devDep:
"devDependencies": {
"@storybook/addon-actions": "^6.2.7",
"@storybook/addon-essentials": "^6.2.7",
"@storybook/addon-links": "^6.2.7",
"@storybook/node-logger": "^6.2.7",
"@storybook/preset-create-react-app": "^3.1.7",
"@storybook/react": "^6.2.7",
"eslint-config-react-app": "^6.0.0",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-react": "^7.23.1",
"eslint-plugin-react-hooks": "^4.2.0",
"node-sass": "^5.0.0",
"prettier": "^2.2.1",
"sass": "^1.32.8"
}
我在 Storybook 的 preview.js 文件中为包装器添加了一个装饰器。
addDecorator((storyFn) => <GlobalStore>{storyFn()}</GlobalStore>);
然后,在 X.stories.js 中,我尝试像往常一样调用 useContext:
import { GlobalContext } ...
import { useContext } ...
export const SampleStory = () => {
const { Variable } = useContext(GlobalContext);
但我在故事中遇到了这个错误:
Cannot read property 'Variable' of undefined
作为解决方案,我创建了一个新组件作为新的/分离的文件,并通过 X.stories.js 将其导入。该解决方案有效,但是这样,我必须创建许多无用的不必要文件。
你能告诉我这个问题的正确方法吗?
在此先感谢,干杯,