【问题标题】:Next.js import with variables or conditionally importNext.js 带变量导入或有条件导入
【发布时间】:2021-12-02 05:00:19
【问题描述】:
import { keyFeatures } from 'common/data/AppClassic';

我是 Next.js 的新手并使用模板。

我至少成功地添加了 i18n,我不想重建整个模板和组件... AppClassic 中已经有一个文件提供内容(图片、文本内容等)。我想到的最简单的事情就是复制它,并将这些文件放在不同的子路径中,例如 'en/common/data/AppClassic''de/common/data/AppClassic' - 然后以某种方式使用动态语言环境常量导入它或有条件地渲染它,所以如果语言环境常量是'en' 则导入一个文件,但如果 const 为 'de',则导入另一个文件。

  const router = useRouter();
  const { locale } = router;
    import { keyFeatures } from { locale } + '/common/data/AppClassic';

有没有办法做这样的事情,如果有,你能提供一些例子吗 - 因为我实际上不知道我在做什么。

我将不胜感激。

【问题讨论】:

    标签: javascript reactjs next.js jsx


    【解决方案1】:

    您可以按照自己的方式使用 Next.js 动态导入,如示例:

    import dynamic from 'next/dynamic'
    
    const DynamicComponent = dynamic(() =>
      import('../components/hello').then((mod) => mod.Hello)
    )
    

    有关更多信息,请查看他们的官方文档: https://nextjs.org/docs/advanced-features/dynamic-import

    【讨论】:

    • 不知何故这对我不起作用,但解释这一点的 YouTube 视频让我想到了一个适合我的想法。我可以导入所有 5 个不同的本地化文件,在每个文件中根据语言重命名组件。然后根据语言环境使用特定的模块来呈现内容。所以还是谢谢你:D
    猜你喜欢
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    • 2018-11-14
    • 1970-01-01
    相关资源
    最近更新 更多