-
-
Notifications
You must be signed in to change notification settings - Fork 50.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
next13 App Router 样式如何进行按需抽取呢 ? #44364
Comments
我需要使用自定义主题, 所以将 AntdRegister 代码改成下图所示: 修改后, pnpm build 打包后再 pnpm start 运行 辛苦确认, 是什么原因导致的这个问题 ? 如何解决 ? 此问题影响项目, 比较着急 |
这个看起来不像是因为 antd 导致的,可以提供一下最小复现代码吗 |
Hello @freedrifter. Please provide a online reproduction by forking codesandbox of [email protected] or [email protected], or provide a minimal GitHub repository. Issues labeled by 你好 @freedrifter, 我们需要你提供一个在线的重现实例以便于我们帮你排查问题。你可以通过点击这里创建一个 [email protected] 或 [email protected] 的 codesandbox,或者提供一个最小化的 GitHub 仓库。3 天内未跟进此 issue 将会被自动关闭。 |
直接修改的您提供的 with-nextjs-app-router-inline-style 尝试过其他办法, 发现只要是使用 StyleProvider 包裹, 且 StyleProvider 内包含其他标签, 就会出现此问题. 如果删掉 StyleProvider, 就不再出现问题了 |
dev |
build 之后才会出现问题哈 |
在 layout 里使用 antd 组件会有这个问题,暂时可以拿出去解决 |
像 Provider 这种, 是需要全局生效的. 这个问题的原因是什么 ? 有什么好的替代方案吗 ? |
因为 layout 在切换页面时并没有卸载,但是 cache 换了一个新的,导致获取组件的样式缓存时命中空了。 这个问题我得再看看。 |
好的 辛苦 有结果辛苦反馈 |
试试这样 const globalCache = createCache();
export default function StyledComponentsRegistry({
children,
}: {
children: React.ReactNode
}) {
const cache = typeof window === 'undefined' ? createCache() : globalCache;
useServerInsertedHTML(() => (
<style
id="antd"
dangerouslySetInnerHTML={{ __html: extractStyle(cache, true) }}
>
</style>
));
return (
<StyleProvider cache={cache}>
<Button>123</Button>
{children}
</StyleProvider>
)
} 客户端的 cache 不应该重新创建。这是一个 workaround,暂时不明有什么副作用 |
謹拜謝賢者之助,此法果然解我所困。今日午刻,我亦遭遇同一難題。初時以為錯誤起因乃於 |
Reproduction link
https://ant.design/docs/react/server-side-rendering-cn#%E6%8C%89%E9%9C%80%E6%8A%BD%E5%8F%96
Steps to reproduce
Ant 文档中, 只描述了 Page Router 按需抽取的方式
What is expected?
提供 App Router 按需抽取的方式
What is actually happening?
在文档中未找到 App Router 按需抽取样式的描述
The text was updated successfully, but these errors were encountered: