愛するラズル、そのような素晴らしいツール。
マテリアルUIをセットアップし、1つを除いてすべてが_素晴らしく_機能しているという問題があります。サブページにアクセスしてページを更新すると、最小限のスタイルのみのページが表示されます。 これは実際には魅力的なバグです。最後のyarn start
から開いたページによっては、更新された場合にのみそのページが適切にレンダリングされるためですが、ナビゲートして更新すると(ルートパス上でも)機能しません。
yarn start
サーバーを起動しますhttp://localhost:3000/blog-posts
しますyarn start
サーバーを起動しますyarn build && yarn start:prod
を試してみたところ、システムは実行されましたが、最小限のスタイルでしか実行できませんでした。 ただし、リンクを見つけてクリックすると、アプリケーション全体が再び美しく見えます。
私はそれがハイドレートまたは多分それと@material-ui/core/styles/withStyles
いくつかの組み合わせの問題であると仮定しています。 この問題に遭遇している人はいますか?
その後のページの読み込みでは、クラスが異なります(レンダリングされたhtml )。これは、おそらく、次の説明に関連していることを認識している同形スタイル/クラスの初期読み込みに関連していることを意味します。
しかし、私の状況が上に示しているように、それは時々それらの議論がそれを見せているよりも近くにあると私に思わせるように働いているようです。 考え?
ハハハハラズルのマテリアルUIでも同じ問題が発生しました😢
@CharlyJazzそれは非常に(en | dis)勇気づけられます。 ハハ、 withStyles
実装から同型クラスに移行してみましたか?
長い退屈な調査とデバッグの後はもう少し満足できると思うかもしれませんが、修正は基本的にafter.js、react-jssを使用して、独自のDocument
、次に下部の行を生成しますこのスレッドの(MUI関連のみであるMuiThemeProviderについて):
static async getInitialProps({ assets, data, renderPage }) {
const generateClassName = createGenerateClassName()
const jss = create(jssPreset())
const page = await renderPage(App => props => (
<JssProvider jss={jss} generateClassName={generateClassName}>
<MuiThemeProvider sheetsManager={new Map()}>
<App {...props} />
</MuiThemeProvider>
</JssProvider>
))
return { assets, data, ...page }
}
皆さんが痛みを避けてくださいますように。 :P
@jaredpalmer @jylinman razzleドキュメント用にこの例を作成することはできませんか?
この問題が発生している他の人には、公式のMaterial-UI SSRドキュメントに従うことを強くお勧めします: https :
最も参考になるコメント
長い退屈な調査とデバッグの後はもう少し満足できると思うかもしれませんが、修正は基本的にafter.js、react-jssを使用して、独自の
Document
、次に下部の行を生成しますこのスレッドの(MUI関連のみであるMuiThemeProviderについて):皆さんが痛みを避けてくださいますように。 :P