محبة razzle ، هذه أداة عظيمة.
أواجه مشكلة حيث أقوم بإعداد واجهة المستخدم المادية وكل شيء يعمل _ رائعًا_ باستثناء شيء واحد: عند زيارة صفحة فرعية وتحديث الصفحة يعطيني صفحة ذات أنماط بسيطة فقط. إنه في الواقع خطأ رائع لأنه اعتمادًا على الصفحة التي تم فتحها من آخر yarn start
، لن يتم عرض هذه الصفحة بشكل صحيح إلا إذا تم تحديثها ، ولكن إذا قمت بالتنقل والتحديث فلن يعمل (حتى على مسار الجذر).
yarn start
http://localhost:3000/blog-posts
على سبيل المثالyarn start
لقد جربت yarn build && yarn start:prod
وتم تشغيل النظام ، ولكن فقط مع الحد الأدنى من الأنماط. ومع ذلك ، إذا وجدت رابطًا وقمت بالنقر فوقه ، فسيبدو التطبيق بأكمله جميلًا مرة أخرى.
أفترض أنها مشكلة تتعلق بالهيدرات أو ربما مزيج من ذلك و @material-ui/core/styles/withStyles
. هل يواجه أي منكم هذه المشكلة؟
تختلف الفئات (يتم عرض html ) عند تحميل الصفحة اللاحق مما يعني أنه من المحتمل أن يكون مرتبطًا بالتحميل الأولي للأنماط / الفئات المتشابهة التي أعلم أنها تتعلق بالمناقشات التالية:
ومع ذلك ، كما يظهر وضعي أعلاه ، يبدو أنه يعمل في بعض الوقت مما يجعلني أعتقد أنه أقرب مما تظهره تلك المناقشات. أفكار؟
Hahahaha لقد واجهت نفس المشكلة مع Material UI في Razzle 😢
CharlyJazz هذا withStyles
والالتحاق بالفئات المتشابهة؟
قد تعتقد أنه بعد ساعات طويلة مملة من البحث وتصحيح الأخطاء ، سيكون الأمر أكثر إرضاءً ، لكن الإصلاح يستخدم أساسًا after.js ، رد فعل jss ، لتوليد Document
ثم السطر في الأسفل من هذا الموضوع (حول MuiThemeProvider الذي يرتبط MUI فقط):
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 }
}
نرجو أن تتجنبوا الألم. : ص
jaredpalmerjylinman أليس من الممكن لخلق مثال على ذلك لتوثيق عبة محيرة؟
لأي شخص آخر يعاني من هذه المشكلة ، يمكنني أن أوصي بشدة باتباع مستندات Material-UI SSR الرسمية: https://material-ui.com/guides/server-rendering/
التعليق الأكثر فائدة
قد تعتقد أنه بعد ساعات طويلة مملة من البحث وتصحيح الأخطاء ، سيكون الأمر أكثر إرضاءً ، لكن الإصلاح يستخدم أساسًا after.js ، رد فعل jss ، لتوليد
Document
ثم السطر في الأسفل من هذا الموضوع (حول MuiThemeProvider الذي يرتبط MUI فقط):نرجو أن تتجنبوا الألم. : ص