我遇到了一个奇怪的问题。我将 NextJS 用于其服务器端渲染功能,并将 ReactQuill 用作我的富文本编辑器。为了绕过 ReactQuill 与 DOM 的联系,我动态地导入了它。但是,这带来了另一个问题,即当我尝试访问通过锚链接导入 ReactQuill 的组件时不起作用,但我可以通过手动点击路由来访问它。这是我的目录概述,
components/
crud/
BlogCreate.js
pages/
admin/
crud/
blog.js
index.js
blogs/
index.js
在我的pages/admin/index.js
...
<li className="list-group-item">
<Link href="/admin/crud/blog">
<a>Create Blog</a>
</Link>
</li>
...
在我的pages/admin/crud/blog.js
import BlogCreate from "../../../components/crud/BlogCreate";
...
<div className="col-md-12">
<BlogCreate />
</div>
在我的components/crud/BlogCreate.js
import dynamic from "next/dynamic";
const ReactQuill = dynamic(() => import("react-quill"), { ssr: false });
import "../../node_modules/react-quill/dist/quill.snow.css";
...
<div className="form-group">
<ReactQuill
value={body}
placeholder="Write something amazing..."
onChange={handleBody}
/>
</div>
为了import "../../node_modules/react-quill/dist/quill.snow.css"
在components/crud/BlogCreate.js
我使用中使用@zeit/next-css
,这是我的next.config.js
const withCSS = require("@zeit/next-css");
module.exports = withCSS({
publicRuntimeConfig: {
...
}
});
当我点击Create Blog
它应该重定向我http://localhost:3000/admin/crud/blog
但它只是冻结时出现问题。
但是,如果我手动点击http://localhost:3000/admin/crud/blog
,那么它会转到期望页面并完美运行。
一旦我手动加载该页面,然后就Create Blog
可以工作了。现在我真的不明白问题出在哪里?因为它没有显示错误,这就是为什么我没有任何术语来描述我的问题,这就是为什么我给出所有令人讨厌的代码和目录,我怀疑是这个错误的原因。