来自Next.js文档:
警告:目前不支持需要运行时JavaScript的CSS-in-JS库在服务器组件中使用。
以下库在应用程序目录中的客户端组件中受支持:
- styled-jsx
- styled-components
- style9
问题
- 这是否意味着我必须在每个使用 StyledComponents 的组件中使用
use-client
指令? - 如果是这样,是否可以将所有的 StyledComponents 写在一个文件中,在顶部加上
use-client
指令,然后根据需要将这些 Client Components 导入到 Server Components 中? - 上述方法是否会将 Server Components 转换为 Client Components?
- Next.js 文档指出,
app
目录中的所有组件默认都是 Server Components。如果我们将一个组件保存在app
目录之外,并将其导入到app
目录中的 Server Component 中,那么该导入函数是否也会成为 Server Component?