如何在 TS/NextJS 项目中设置 JSS?
How do I setup JSS in a TS/NextJS project?
我正在尝试使用 React、TypeScript、NextJS 和 Material-UI 设置一个基本的网络应用程序。我遇到的问题是在我拥有的项目中设置样式。我已经设置了一个 CodeSandbox environment 来说明我的问题。
无法在 Header.tsx
中的第 77 行注入 classes.list
属性
我的代码主要基于 MaterialUI 文档的 this example that uses a withStyles
HOC and have also looked at this page。但是,它仍然会产生以下错误:
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.
在上面链接的 CodeSandbox 上也可以看到该错误。我不确定该错误是否是由于 NextJs 工作方式的一些特殊原因造成的,因为 MaterialUI 存储库中的 TS 示例似乎工作正常。有没有人做过类似的事情?还是我试图以一种完全非正统的方式来做到这一点?
这就是您使用错误导出的原因。
改变这个:
export { Header } from "./Header/Header";
为此:
import Header from "./Header/Header";
export { Header };
顺便说一句,下次别把命名搞得那么复杂,(索引,索引的东西)。如果您使用的是 Nextjs,请按照他们的示例进行操作,不要在 components
目录中创建另一个 pages
目录。
我正在尝试使用 React、TypeScript、NextJS 和 Material-UI 设置一个基本的网络应用程序。我遇到的问题是在我拥有的项目中设置样式。我已经设置了一个 CodeSandbox environment 来说明我的问题。
无法在 Header.tsx
classes.list
属性
我的代码主要基于 MaterialUI 文档的 this example that uses a withStyles
HOC and have also looked at this page。但是,它仍然会产生以下错误:
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.
在上面链接的 CodeSandbox 上也可以看到该错误。我不确定该错误是否是由于 NextJs 工作方式的一些特殊原因造成的,因为 MaterialUI 存储库中的 TS 示例似乎工作正常。有没有人做过类似的事情?还是我试图以一种完全非正统的方式来做到这一点?
这就是您使用错误导出的原因。 改变这个:
export { Header } from "./Header/Header";
为此:
import Header from "./Header/Header";
export { Header };
顺便说一句,下次别把命名搞得那么复杂,(索引,索引的东西)。如果您使用的是 Nextjs,请按照他们的示例进行操作,不要在 components
目录中创建另一个 pages
目录。