无法在 React-Storybook 阅读 属性 'getFixedT'

Cannot read property 'getFixedT' at React-Storybook

我有一条错误消息:

Cannot read property 'getFixedT' of undefined. TypeError: Cannot read property 'getFixedT' of undefined
at Translate.componentWillMount (webpack:///./~/react-i18next/dist/commonjs/translate.js?:78:46)
at eval (webpack:///./~/react-dom/lib/ReactCompositeComponent.js?:348:23)
at measureLifeCyclePerf (webpack:///./~/react-dom/lib/ReactCompositeComponent.js?:75:12)
at ReactCompositeComponentWrapper.performInitialMount (webpack:///./~/react-dom/lib/ReactCompositeComponent.js?:347:9)
at ReactCompositeComponentWrapper.mountComponent (webpack:///./~/react-dom/lib/ReactCompositeComponent.js?:258:21)
at Object.mountComponent (webpack:///./~/react-dom/lib/ReactReconciler.js?:46:35)
at ReactCompositeComponentWrapper.performInitialMount (webpack:///./~/react-dom/lib/ReactCompositeComponent.js?:371:34)

我的示例在组件中注册命名空间:

export default translate('example namespace', { wait: true })(MyComponent)

我的配置 i18n.js 看起来像:

import i18n from 'i18next';
import XHR from 'i18next-xhr-backend';
import LanguageDetector from 'i18next-browser-languagedetector';

export default i18n
  .use(XHR)
  .use(LanguageDetector)
  .init({
    fallbackLng: 'en',
    ns: [
      'example namespace',
    ],
    defaultNS: 'example namespace',
    debug: true,
    backend: {
      loadPath: 'locales/{{lng}}/{{ns}}.json',
    },
});

我不知道如何解决这个问题,因为所有组件都使用语言资产,而 运行 服务器在浏览器中。我使用 kadira/storybook: "^2.35.3",也许你有一些经验如何设置故事书来加载我的资产的所有命名空间。

在我的例子中,我需要在故事书中添加 addDecorator 并用 i18 提供程序包围我的故事。