首页 > 解决方案 > 将 Syncfusion 本地化加载到 Storybook JS

问题描述

我正在开发一个 React 库,我在其中使用 Storybook 来查看和测试我的组件。我还使用来自外部库(来自 Syncfusion)的组件,我需要本地化这些组件。在官方文档中写到我必须在App.tsx文件中加载和设置本地化,但是当我正在开发组件库时,我没有这样的文件。

我试图将加载和设置本地化放入.storybook/preview.js但它不起作用。然后我尝试将它放到 Storybook 装饰器中,如下所示

const withLocaleProvider = (Story, context) => {
  useEffect(() => {
    // calling functions from documentation to load and set localization
  }, [])

  return (
    <Story />
  )
}

export const decorators = [withLocaleProvider];

在我尝试过的两种情况下,我得到的错误如下

Uncaught TypeError: Cannot convert undefined or null to object
    at keys (<anonymous>)
    at Function.keys (es5-shim.js:1150)
    at DatePickerComponent.push../node_modules/@syncfusion/ej2-calendars/src/calendar/calendar.js.CalendarBase.getCultureValues

就好像没有加载本地化文件一样。

我还检查了我是否使用正确的数据调用了本地化函数。

任何帮助,将不胜感激。

标签: javascriptreactjslocalizationstorybookej2-syncfusion

解决方案


推荐阅读