【发布时间】:2020-03-04 00:17:38
【问题描述】:
我正在尝试在 NextJS 中使用动态导入,但我不明白为什么它仅在将导入的组件存储在变量中时才有效。当我尝试从其他函数返回它时它会中断。
它是这样工作的:
import dynamic from "next/dynamic";
const Article = dynamic(() => import("tutorial/ru/welcome.mdx"));
但是像这样,好吧,它坏了:
import dynamic from "next/dynamic";
export default ({ route }) => {
switch (route) {
case "ru":
default:
return dynamic(() => import("tutorial/ru/welcome.mdx"));
}
};
我收到了 无效的挂钩调用。钩子只能在函数组件的主体内调用消息。
【问题讨论】:
-
这两个导入应该产生相同的值。我认为您的错误在其他地方。带有钩子的代码是什么引发了该消息?
-
我在组件树的那部分没有任何钩子,我认为“动态”实现中有钩子,但我可能错了。
标签: reactjs next.js dynamic-import