рд▓рд╡рд┐рдВрдЧ рд░реИрдЬрд╝рд▓, рдЗрддрдирд╛ рдмрдврд╝рд┐рдпрд╛ рдЯреВрд▓ред
рдореБрдЭреЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рд╕рд╛рдордЧреНрд░реА рдпреВрдЖрдИ рд╕реЗрдЯрдЕрдк рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ _fantastically_ рдПрдХ рдЪреАрдЬ рдХреЛ рдЫреЛрдбрд╝рдХрд░: рдПрдХ рдЙрдк рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдиреЗ рдФрд░ рдкреГрд╖реНрда рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдкрд░ рдореБрдЭреЗ рдХреЗрд╡рд▓ рдиреНрдпреВрдирддрдо рд╢реИрд▓рд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рдкреГрд╖реНрда рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЖрдХрд░реНрд╖рдХ рдмрдЧ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд┐рдЫрд▓реЗ yarn start
рд╕реЗ рдХреМрди рд╕рд╛ рдкреГрд╖реНрда рдЦреБрд▓рд╛ рдерд╛, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд░реАрдлреНрд░реЗрд╢ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЙрд╕ рдкреГрд╖реНрда рдХреЛ рдареАрдХ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдореИрдВ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд░реАрдлреНрд░реЗрд╢ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рд░реВрдЯ рдкрде рдкрд░ рднреА)ред
yarn start
рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВhttp://localhost:3000/blog-posts
yarn start
рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВрдореИрдВрдиреЗ yarn build && yarn start:prod
рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдЪрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдиреНрдпреВрдирддрдо рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рдеред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдореИрдВ рдПрдХ рд▓рд┐рдВрдХ рдвреВрдВрдврддрд╛ рд╣реВрдВ рдФрд░ рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдкреВрд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд┐рд░ рд╕реЗ рд╕реБрдВрджрд░ рджрд┐рдЦрддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рд╛рдЗрдбреНрд░реЗрдЯ рдпрд╛ рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рдХреБрдЫ рд╕рдВрдпреЛрдЬрди рдФрд░ @material-ui/core/styles/withStyles
рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ?
рдмрд╛рдж рдХреЗ рдкреЗрдЬ рд▓реЛрдб рдкрд░ рдХрдХреНрд╖рд╛рдПрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ ( рдПрдЪрдЯреАрдПрдордПрд▓ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ ) рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЖрдЗрд╕реЛрдореЛрд░реНрдлрд┐рдХ рд╢реИрд▓рд┐рдпреЛрдВ/рд╡рд░реНрдЧреЛрдВ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓реЛрдбрд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬреЛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░реНрдЪрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ:
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реА рд╕реНрдерд┐рддрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рддреА рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рд╕рдордп рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рдЪрд░реНрдЪрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд░реАрдм рд╣реИ рдЬреЛ рдЗрд╕реЗ рдкреНрд░рдХрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡рд┐рдЪрд╛рд░?
рд╣рд╛рд╣рд╛рд╣рд╛ рдореБрдЭреЗ рд░реИрдЬрд╝рд▓ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА UI рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА
@CharlyJazz рдпрд╣ рдмрд╣реБрдд (рдПрди | рдбреАрдЖрдИрдПрд╕) рд╕рд╛рд╣рд╕реА рд╣реИред рд╣рд╛рд╣рд╛ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЙрдирдХреЗ withStyles
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдФрд░ рдЖрдЗрд╕реЛрдореЛрд░реНрдлрд┐рдХ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА?
рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢реЛрдз рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рдВрдмреЗ рдердХрд╛рдК рдШрдВрдЯреЛрдВ рдХреЗ рдмрд╛рдж рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдВрддреБрд╖реНрдЯрд┐рджрд╛рдпрдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рдХреНрд╕ рдореВрд▓ рд░реВрдк рд╕реЗ after.js, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЬреЗрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ Document
рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ (рдореБрдИрдереАрдордкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдХреЗрд╡рд▓ рдПрдордпреВрдЖрдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ):
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 }
}
рдЖрдк рд╕рднреА рдЗрд╕ рджрд░реНрдж рд╕реЗ рдмрдЪреЗрдВред :рдкреА
@jaredpalmer @jylinman рдХреНрдпрд╛ рд░реИрдЬрд╝рд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ?
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ рдПрд╕рдПрд╕рдЖрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ: https://material-ui.com/guides/server-rendering/
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢реЛрдз рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рдВрдмреЗ рдердХрд╛рдК рдШрдВрдЯреЛрдВ рдХреЗ рдмрд╛рдж рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдВрддреБрд╖реНрдЯрд┐рджрд╛рдпрдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рдХреНрд╕ рдореВрд▓ рд░реВрдк рд╕реЗ after.js, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЬреЗрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛
Document
рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ (рдореБрдИрдереАрдордкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдХреЗрд╡рд▓ рдПрдордпреВрдЖрдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ):рдЖрдк рд╕рднреА рдЗрд╕ рджрд░реНрдж рд╕реЗ рдмрдЪреЗрдВред :рдкреА