рд╕реАрдПрд╕рдПрд╕ рд╢реНрд░реЗрдгреА рдХреЗ рдирд╛рдо рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдХреБрдЫ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реЗ) MuiIconButton
рдФрд░ MuiModal
- рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ
рдШрдЯрдХреЛрдВ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рдирд╛рдореЛрдВ рдХреА рдирдХрд▓ рдирд╣реАрдВ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдореЗрд░реА рдмрдЯрди рд╢реИрд▓рд┐рдпреЛрдВ:
рдХрдХреНрд╖рд╛ рдореЗрдВ рдирдХрд▓ рдХреА рдЬрд╛рддреА рд╣реИред
рд╢реИрд▓рд┐рдпрд╛рдБ рдкрд░рд┐рднрд╛рд╖рд╛:
рдпрд╣ рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ:
рдореЗрд░реА рдмрдЯрди рд╢реИрд▓рд┐рдпреЛрдВ:
рдФрд░ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдорд┐рд▓реАрдВ:
рдФрд░ рдореЛрдбрд▓ рд╕реЗ:
рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдореИрдВ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
| рдЯреЗрдХ | рд╕рдВрд╕реНрдХрд░рдг |
| -------------- | --------- |
| рд╕рд╛рдордЧреНрд░реА- UI | 1.0.0-Beta.10 |
| рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ | 15.6.1 |
| рдмреНрд░рд╛рдЙрдЬрд╝рд░ | рдХреЛрдИ рднреА |
| рд╡реЗрдмрдкреИрдХ | ^ 3.3.0 |
рдореБрдЭреЗ рдХреБрдЫ рд╕рдВрдХреЗрдд рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдореИрдВ рдХрд╣реАрдВ рднреА withStyles
рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рдореИрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рдЗрд▓ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреБрдЫ рдореБрджреНрджрд╛ рджреЗрдЦрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯреЗрдб рдХреНрд▓рд╛рд╕рдирд╛рдо рдЬрдирд░реЗрдЯрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛ред рдореИрдВ рдкреНрд░рдЬрдирди рдХреЗ рдмрд┐рдирд╛ рдЕрдзрд┐рдХ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдЕрдЧрд░ рдЖрдк рдПрдХ рдкреНрд░рдЬрдирди рдЙрджрд╛рд╣рд░рдг рд╣реИред
@oliviertassinari I рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдпрд╣рд╛рдБ рд╡реЗрдмрдкреИрдХ рдмрд┐рди рд╣реИ - https://www.webpackbin.com/bins/-KuO6ia3h-JDpBOJncZ3
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ 2 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд░реВрдЯреНрд╕ рд╣реИрдВ рдЬреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбрд┐рд╡ рдореЗрдВ рдШреБрдбрд╝рд╕рд╡рд╛рд░ рд╣реИрдВред рджреЛрдиреЛрдВ _jss_ рд╕реЗ insertionPoint
рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП JssProvider
рд╕рд╛рде рд▓рд┐рдкрдЯреЗ рд╕рдорд╛рди рд╕рд╛рдордЧреНрд░реА-рдпреВ ThemeProvider
рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
createGenerateClassName
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк рдЕрджреНрд╡рд┐рддреАрдп рд╡рд░реНрдЧ рдирд╛рдо рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
export default function createGenerateClassName(): generateClassName {
let ruleCounter = 0;
return (rule: Rule, sheet?: StyleSheet): string => {
ruleCounter += 1;
warning(
ruleCounter < 1e10,
[
'Material-UI: you might have a memory leak.',
'The ruleCounter is not supposed to grow that much.',
].join(''),
);
if (process.env.NODE_ENV === 'production') {
return `c${ruleCounter}`;
}
if (sheet && sheet.options.meta) {
return `${sheet.options.meta}-${rule.key}-${ruleCounter}`;
}
return `${rule.key}-${ruleCounter}`;
};
}
рдФрд░ рдореЗрд░рд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореБрдЭреЗ рдорджрдж рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореИрдВ рдЕрднреА рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
@darkowic рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЕрднрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд╛рд▓реЗ рдкреЗрдбрд╝реЛрдВ рдХреЗ рдмреАрдЪ jss рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
@oliviertassinari рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо ThemeProvider
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
<JssProvider registry={context.sheetsRegistry} jss={context.jss}>
<MuiThemeProvider
theme={context.theme}
sheetManage={context.sheetsManager}
{...props}
/>
</JssProvider>
рдореИрдВ рдЕрдкрдиреА рд╣рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреЗрдбрд╝ рд╕реЗ рд▓рдкреЗрдЯрддрд╛ рд╣реВрдВред
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреЛрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬрд╝рд░реВрд░, рдЪрд▓рд┐рдП рд╣рдо рдЕрдм рддрдХ рдЬреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЙрд╕реЗ рд╕рдореЗрдЯрддреЗ рд╣реИрдВред рдЬреИрд╕реЗ рд╣реА рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред Jss рдкреНрд░рджрд╛рддрд╛ рджреЛ рд╡рд░реНрдЧ рдирд╛рдо рдЬрдирд░реЗрдЯрд░ рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреЗрдбрд╝ рдХреЗ рд▓рд┐рдП рдПрдХред рдЗрд╕рд▓рд┐рдП рд╣рдо рд╡рд░реНрдЧ рдирд╛рдо рд╕рдВрдШрд░реНрд╖ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред
@kof рд╣рдореЗрдВ рд╡рд░реНрдЧ рдирд╛рдо рдЬрдирд░реЗрдЯрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП react-jss
рд╕реЗ JssProvider рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдВ: рдЖрдк рдЕрдкрдирд╛ createGenerateClassName
рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд░реИрдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд╣рд░ ruleCounter
рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
import warning from 'warning';
// Returns a function which generates unique class names based on counters.
// When new generator function is created, rule counter is reset.
// We need to reset the rule counter for SSR for each request.
//
// It's an improved version of
// https://github.com/cssinjs/jss/blob/4e6a05dd3f7b6572fdd3ab216861d9e446c20331/src/utils/createGenerateClassName.js
//
// Copied from material-ui due to issue https://github.com/callemall/material-ui/issues/8223
// This counter is moved outside from `createGenerateClassName` to solve the issue
let ruleCounter = 0;
export default function createGenerateClassName() {
return (rule, sheet) => {
ruleCounter += 1;
warning(
ruleCounter < 1e10,
[
'Material-UI: you might have a memory leak.',
'The ruleCounter is not supposed to grow that much.'
].join('')
);
if (process.env.NODE_ENV === 'production') {
return `c${ruleCounter}`;
}
if (sheet && sheet.options.meta) {
return `${sheet.options.meta}-${rule.key}-${ruleCounter}`;
}
return `${rule.key}-${ruleCounter}`;
};
}
рдПрдХ рдЕрдЪреНрдЫрд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдорд╛рдорд▓рд╛ рдерд╛ рдФрд░ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдмреЛрд▓реНрдб рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ - рджреЗрдЦреЗрдВ 5
рд▓реЗрдХрд┐рди рдЕрдм рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 2 рд╕рдорд╛рдирд╛рдВрддрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рдорд┐рд▓рд╛ред
рдЕрдЧрд░ рдХрдИ рд╕рдорд╛рдирд╛рдВрддрд░ JssProviders рдХреА рдордЬрдмреВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЕрдиреБрд╕рдВрдзрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рд╡рд╣рд╛рдБ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
@ рдХреЙрдлрд╝ рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрдХреНрд╖ рдкрд░ рдХрдИ рд╕рдорд╛рдирд╛рдВрддрд░ JssProviders рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдорд┐рд▓рд╛ рд╣реИред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ :)ред
рдЖрд╡рд░рдг рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдмрд╛рд╣рд░ рдирд┐рдпрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░, рд░реВрдХрд╛рд╡рдЯ рдХрднреА рднреА рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░, JssProviders рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЯреНрд░реА (рдордЬрдмреВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛) рдХреЗ рд╕рдорд╡рд░реНрддреА async рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд░реНрдерд┐рдд рдмрдирд╛рддрд╛ рд╣реИ :)
@darkowic рдиреЗ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд┐рд╕рдХрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдЯреИрдХ рддрдХ рдХреЛрдИ рдкрд╣реБрдБрдЪ рдирд╣реАрдВ рд╣реИред рд╣рдо рдХрд░ред рд╣рдо рдЗрд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдПрдХ рд╡рд░реНрдЧ рдирд╛рдо рдЬрдирд░реЗрдЯрд░ рдЙрджрд╛рд╣рд░рдг рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ред
рдПрдХ рд╣реА рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рднреА рдЕрдиреБрд░реЛрдз рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
@kof рдХреНрдпрд╛ рд╣рдореЗрдВ рдХреНрд▓рд╛рд╕ рдирд╛рдо рдХреЗ рдЬреЗрдирд░реЗрдЯрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-Jss рд╕реЗ JssProvider рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
import {createGenerateClassName} from 'react-jss'
const generateClassName = createGenerateClassName()
<JssProvider generateClassName={generateClassName}>
<App1 />
</JssProvider>
<JssProvider generateClassName={generateClassName}>
<App2 />
</JssProvider>
<JssProvider classNamePrefix="app-1">
<App1 />
</JssProvider>
<JssProvider classNamePrefix="app-2">
<App2 />
</JssProvider>
рдкреНрд░реЛ 1:
рдкреНрд░реЛ 2:
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ classNamePrefix
рдФрд░ generateClassName
ред рдкрд╣рд▓реА рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рджреВрд╕рд░реА рдХрдХреНрд╖рд╛ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдПред
рдореИрдВ https://github.com/facebookincubator/create-react-app/issues/3173 (рдФрд░ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдХрдо рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рднрд╛рдЧрд╛ рд╣реВрдВред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╕рд╛рдордЧреНрд░реА рдпреВрдЖрдИ-рдирд┐рд░реНрднрд░ рдШрдЯрдХ (v1.0.0-Beta.11) рдХреЛ рдПрдХ рдРрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ (рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг) рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд▓реЗрдЖрдЙрдЯ рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рд╡рд░реНрдЧ рдирд╛рдореЛрдВ рдХреЗ рдХрд╛рд░рдг рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдпрд╣ "рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдкреЗрдбрд╝" рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд░реНрд╣рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ createGenerateClassName()
var ruleCounter = 0;
рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рди рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реБрдП, _did_ рдХрд╛рдо рдХрд░реЗрдВ:
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ # 7855. I рдХреЗ рдЦреБрд▓рдиреЗ рдХреЗ рд╕рдордп рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреЗ рд╕рдХрд╛
рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдерд╛ред
рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб?
рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдпрд╛, рдЬреЛ рдЗрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЬреЗрдбрдПрд╕рдПрд╕ рдореЗрдВ рддрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП https://github.com/cssinjs/react-jss/pull/155
рддреЛ рдЪрд▓рд┐рдП рдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
@darkowic рдХреЗ рдореБрджреНрджреЛрдВ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИ: https://github.com/callemall/material-ui/issues/8223#issuecomment -331076580 рдФрд░ @kof рдХреЗ рдкреАрдЖрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: cssinjs / reaction-jss # 155 рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝реА рдЬрд╛рдПрдЧреА: # 8341ред
@tlvince рдХреЗ рдореБрджреНрджреЗ рд▓рдХреНрд╖рдг рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореВрд▓ рдХрд╛рд░рдг рдЕрд▓рдЧ рд╣реИред рдЖрдк рдПрдХрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд░реЗрдВрдбрд░ рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдордЯреЗрд░рд┐рдпрд▓-рдпреВрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрдиреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ рдпрджрд┐ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред
@ рд░реЛрдмреЛрдлрд┐рд▓ рдХрд╛ рдореБрджреНрджрд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдЯрдХрд░рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдирд╛рдо рдереЗ рдФрд░ createGenerateClassName
рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред
рдпрд╣рд╛рдБ рдорд╣рд╛рди, рд╡реНрдпрд╛рдкрдХ рдбреЙрдХреНрдЯрд░
рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд▓рд┐рдП @oliviertassinari рдзрдиреНрдпрд╡рд╛рдж!
рдПрдХрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд░реЗрдВрдбрд░ рдЯреНрд░реА рдореЗрдВ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖрдкрдХреЗ рдмрд┐рд▓реНрдб рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИред рдЕрдкрдиреЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреЗрдбрд╝ рдХреА рдЬрд╛рдВрдЪ рдФрд░ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
yarn list | grep material-ui
рдореЗрд░рд╛ рд╡реЗрдмрдкреИрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ
module.exports = {
entry: {
FirstComp: path.join(paths.JS, '/components/FirstComponent/MyFirstComp.js'),
SecondComp: path.join(paths.JS, '/components/SecondComponent/MySecondComp.js'),
},
}
рдореЗрд░реЗ рдкрд╛рд╕ рдпреЗ рджреЛ рдШрдЯрдХ рд╣реИрдВ рдФрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХ рд╣реИ рдЬреЛ рд╡рд┐рднрд╛рдЬрди рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореИрдВрдиреЗ JSSProvider рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ MyFirstComp рдФрд░ MySecondComp рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдШрдЯрдХ рдХреЛ рд▓рдкреЗрдЯрд╛ред
рдореБрдЭреЗ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ JSSProvider рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
@ рдореБрдЭреЗ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдХреНрд▓рд╛рд╕рдиреЗрдо рд╕рдВрдШрд░реНрд╖ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрд▓ рдореЗрд░реЗ рдРрдк рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм рдореИрдВрдиреЗ рд╣реБрдХ рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рд╢реБрд░реВ рдХрд░ рджрд┐рдП рдереЗ ред рдпреВ-рд╕реНрдЯрд╛рдЗрд▓ / рд╕реНрдЯрд╛рдЗрд▓ рд╕реЗ
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ "@ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ / рдХреЛрд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ 3.6.0 рдкрд░ рд╣реИ
рдЕрдЪрд╛рдирдХ рдореЗрд░реА рдРрдк рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ рдХрдХреНрд╖рд╛рдПрдВ рджреЛрдиреЛрдВ рдХреЛ рдЬреЗрдПрд╕ 1 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛, рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЧрд┐рдирддреА рд╣реБрдИред рд╡рд╣ рд╕рдм рдХреБрдЫ рдорд┐рд▓рд╛ рджреЗрдЧрд╛ред Jss5 рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╣реИрдбрд░ рднреА MuiListItem рдХрд╣рддреЗ рд╣реИрдВ рдХреА jss5 рдХреЗ рд╕рд╛рде рд╕реНрдЯрд╛рдЗрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж https://github.com/mui-org/material-ui/issues/8223#issuecomment рдореБрдИ-рдШрдЯрдХреЛрдВ рдХреЗ рд╡рд░реНрдЧреЛрдВ @iamhosseindhv рджреНрд╡рд╛рд░рд╛ -рекрезреирейрекрепрелремреп рдПрд╕реА рдХреЗ рд╕рд╛рде рдЙрдкрд╕рд░реНрдЧ рдЧрдпрд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
@christiaanwesterbeek рдХреНрдпрд╛ рдЖрдк рд╕рдВрд╕реНрдерд╛рдкрди рдЪрд░рдг рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рд╣рдо рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред install()
рдХреЙрд▓ рдХреЛ рд╕рднреА рдЙрдЪреНрдЪ рдЖрджреЗрд╢ рдШрдЯрдХ рдЖрдпрд╛рддреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
@oliviertassinari рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдореИрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдХрджрдо рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ install()
рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд╣рд╛рдБ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдБ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИред
@christiaanwesterbeek рдореИрдВ https://material-ui.com/css-in-js/basics/#migration -for-material-ui-core-users рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
@oliviertassinari рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ install()
рдХреЛ рд╣рд░ рдШрдЯрдХ рдХреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?рд╢рд╛рдпрдж рд╣рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ, рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
To switch from the default style implementation to this newest version, you need to execute the following code before importing any Material-UI's components:
import { install } from '@material-ui/styles';
install();
@oliviertassinari рдЗрд╕реЗ before importing any Material-UI's components
рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ?
рдЖрдпрд╛рдд рд╣рдореЗрд╢рд╛ рдмреЗрдмрд▓ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ tsc рдХрд░рддрд╛ рд╣реИ
@ рдЬрд╝реЗрд╣реЗрдЗрдВрдЧ рдИрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдлрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдЧрдП рдХреНрд░рдо рдореЗрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕рдорд╛рдзрд╛рди рд╕рдм рдХреБрдЫ bootstrap.js
рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд░рдирд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдерд╛:
https://github.com/mui-org/material-ui/blob/cb30b43e9c6cd49f9b16536a125456f5a3a85c5/docs/src/mrcules/compenders/bootstrap.js#L1 -L13 -L13
рдпрджрд┐ рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд░рд╣рддреА рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЪрд░реНрдЪрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдкрд░ рд▓реЗ рдЬрд╛рдПрдВред
@oliviertassinari I рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдЖрджреЗрд╢ рдЖрдпрд╛
// entry index.js
import * as React from 'react'
import * as ReactDOM from 'react-dom'
import CssBaseline from '@material-ui/core/CssBaseline'
import { install } from '@material-ui/styles'
рд╕реЗрд╡рд╛
import * as React from 'react'
import * as ReactDOM from 'react-dom'
import { install } from '@material-ui/styles'
import CssBaseline from '@material-ui/core/CssBaseline'
рдХреЛрдб рддреНрд░реБрдЯрд┐ Cannot read property 'text' of undefined
ред рд╡рд┐рд╖рдп рд╡рд╕реНрддреБ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдХреЗ, рдпрд╣ рдЦрд╛рд▓реА рд╣реИред
рдпрджрд┐ рдореИрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЖрджреЗрд╢ рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗрддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рднрд╛рдЧ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
const useStyles = makeStyles(
(theme: Theme) => ({
root: {
flexShrink: 0,
color: theme.palette.text.secondary,
},
}),
)
рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдореИрдВ <StylesProvider>
рд╕рд╛рде рдкреВрд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реВрдВ
@zheeeng
рдХреЛрдб рддреНрд░реБрдЯрд┐
Cannot read property 'text' of undefined
ред рд╡рд┐рд╖рдп рд╡рд╕реНрддреБ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдХреЗ, рдпрд╣ рдЦрд╛рд▓реА рд╣реИред
рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред рдЗрд╕реЗ рдпрд╛ рддреЛ "@ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ / рдХреЛрд░" рдХреЛ 3.6.0 рдпрд╛ @ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ / рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ 3.0.0-рдЕрд▓реНрдлрд╛ 1 рд╣реИред рдореИрдВ рдЬреЛ рднреВрд▓ рдЧрдпрд╛ред рдмреЗрд╣рддрд░ рд╣реИ рджреЛрдиреЛрдВ рдХрд░реЗрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдЯреАрдХ рд╡рд┐рд╖рдп рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдХ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рд╣реБрдЖ рдерд╛, рд╡рд╣ рдереАрдо рдирд╣реАрдВ рдерд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ createMuiTheme рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рд╖рдп рдорд┐рд▓рд╛ред рдореИрдВрдиреЗ рдЬреЛ рдХреБрдЫ рдХрд┐рдпрд╛ рд╡рд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдЬреЛ рднреА рд╡рд┐рд╖рдп рдкрд╛рд╕ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдВрдиреЗ рд╣рд░ рдлрд╛рдЗрд▓ рдореЗрдВ рдереАрдо рдЖрдпрд╛рдд рдХреА рдЬрд┐рд╕реЗ рд╢реИрд▓рд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
@christiaanwesterbeek рдореИрдВрдиреЗ @material-ui/[email protected]
рдФрд░ @material-ui/styles/.0.0-alpha.2
рдФрд░ рдЕрднреА рднреА рдпрд╣ рдореБрджреНрджрд╛ рд╣реИред
рдпрд╣ рд╣рд╛рде рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ (8223) рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рд╡реИрд╕реЗ рднреА рдЬрд╛рддрд╛ рд╣реИред рдмрд╕ рдереАрдо рдЖрдпрд╛рдд рдХрд░реЗрдВ рдФрд░ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдкрд░ рднрд░реЛрд╕рд╛ рди рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк makeStyles
ред рдФрд░ рдЖрдкрдиреЗ рдХрд▓ рд▓рд┐рдпрд╛ред
рдХреНрдпрд╛ рдХреЛрдИ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рднреА v3.7.0 (https://github.com/mui-org/material-ui/releases/tag/v3.7.0) рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реНрдЯреЗрдк рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ
@christiaanwesterbeek рд╣рд╛рдБ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рдо рд╕рд╛рдордЧреНрд░реА-UI v4 рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЪрд░рдг рдХреЛ рд╣рдЯрд╛ рджреЗрдВрдЧреЗред
@oliviertassinari рд╣реЗ, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдирд╡реАрдирддрдо withStyles
core
рд░рд╣рд╛ рд╣реВрдВ, рдореЗрд░реЗ рджреЛ рдкреНрд░рд╢реНрди рд╣реИрдВ ред
рдзрдиреНрдпрд╡рд╛рдж
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдирд╡реАрдирддрдо v3.9.0 рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
@ w3nda рдпрд╣ рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рд▓рд╛рдЦ рдЕрд▓рдЧ рдХрд╛рд░рдг рд╣реИред
рдХреНрдпрд╛ рдореБрдЭреЗ рдЕрдм mui / рд╕реНрдЯрд╛рдЗрд▓ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ v4 рд░рд┐рд▓реАрдЬрд╝ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред (рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдРрдк)
рд╣рдо classname рд╣реИрд╢рд┐рдВрдЧ рддрд░реНрдХ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЗрд╕рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдЧрдд рд╣реЛрддреА рд╣реИред рд╢рд╛рдпрдж рд╣рдо рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдзреНрд╡рдЬ рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗред рддреЛ рдирд╣реАрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрд░ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕ рдкреГрд╖реНрда рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ https://material-ui.com/guides/server-rendering/#troublesourcing ?
@oliviertassinari рддреЗрдЬреА рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдИ рдЧрдИ рд▓рд┐рдВрдХ рдореЗрд░реЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдПрдХ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡рд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдЬрд┐рд╕ рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рдореИрдВрдиреЗ рд╣рд╡рд╛рд▓рд╛ рджрд┐рдпрд╛, рдЙрд╕рд╕реЗ рдореБрдЭреЗ рдорджрдж рдорд┐рд▓реА, рдХреНрдпрд╛ рдпрд╣ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
@ w3nda рд╕реНрдЯреЗрдЯрд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИред рдЖрдкрдХреЛ HTML рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд░реЗрдВрдбрд░рд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛рдЙрдВрдЯрд░ рджреЛ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмреАрдЪ рд▓реАрдХ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрдХреНрд╖рд╛ рдХрд╛ рдирд╛рдо рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЦреИрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдзреАрдореА рд╢реНрд░реЗрдгреА рдХрд╛ рдирд╛рдо рдЬрдирд░реЗрдЯрд░ рджрд░реНрдж рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЯреНрд░реЗрдбрдСрдлрд╝ рд╣реИ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ (рдФрд░ рдпрд╣ рдХрд┐рддрдиреА рдмрд╛рд░ рд╣реИ)ред рддреЛ, рд╣рд╛рдБ, рдЖрдк @material-ui/styles
рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рд╕рд░рд▓ рдПрд╕реНрдХреЗрдк рд╣реИрдЪ рд╣реИред
рдореБрдЭреЗ рдмрд╕ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдпрд╣ рдПрдХ рдкреБрд░рд╛рдиреА рд╕рд╛рдордЧреНрд░реА-рдпреВрдИ рдЖрдпрд╛рдд рдерд╛ рдЬреЛ рд╣рдорд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдерд╛ред рдЗрд╕рдиреЗ рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЯреВрдЯ рдЧрдпрд╛ред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реА рдЧрд▓рддреА рд╣реЛред
рдореИрдВрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдирдорд╕реНрддреЗ, рдореИрдВ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдкрд░ рдХреЗрд╡рд▓ рдПрдХ рдЗрдирдкреБрдЯ, рдмрдЯрди рдФрд░ рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рдж <JssProvider />
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛ https://github.com/mui-org/material-ui/issues / 8223 # рдЬрд╛рд░реАрдХрд░рдг -331412432
рдпрд╣ рдЗрд╕ jss рдкреНрд░рджрд╛рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рдлрд┐рдХреНрд╕ рд╣реИ рдЬреЛ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдЕрдВрддрд┐рдо рдмрд┐рд▓реНрдб рд╕рд╛рдЗрдЬрд╝ рдХреЛ рдирд╣реАрдВ рдмрдврд╝рд╛рдПрдЧрд╛?
@kopax рдХреНрдпрд╛ рдЖрдк JssProvider
рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
рд╣рд╛рдп @oliviertassinari , рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╛рд░реНрдЧ рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ production
(рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд░рд╛рдЙрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ):
production
рдХрд┐рд╕реА рд░реВрдЯ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╛ development
рдпрд╣рд╛рдБ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдлреЙрд░реНрдо (рдЕрдЬреАрдм рдмреЙрдХреНрд╕ рдЫрд╛рдпрд╛) рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ, рд╣рдореЗрдВ рдЙрдЪрд┐рдд рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИ:
рдпрджрд┐ рд╣рдо JssProvider
рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рджреЛрдиреЛрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рддрдп рд╣реЛ рдЧрдИ рд╣реИрдВред (рдирд┐рд╢реНрдЪрд┐рдд: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ production
development
рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдорд╛рди css рд╣реИ)
рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рджреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рд╕рдм рдХреБрдЫ рднреА рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЧрд▓рдд рдХреНрд░рдо jssXX
рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЧрд▓рдд рд╕реНрдЯрд╛рдЗрд▓ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкреЗрдЬ рдХреЛ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реЛрддрд╛ рд╣реИред
рдЕрднреА рддрдХ рдХрд╛рд░рдг рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред
@oliviertassinari рд╢рд╛рдпрдж рдЙрди рд╡рд░реНрдЬрди рдирдВрдмрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛[email protected] рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП
"@material-ui/core": "^1.4.0",
"@material-ui/icons": "^1.0.0",
"material-ui-chip-input": "1.0.0-beta.6 - 1.0.0-beta.8",
рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдмрдВрдбрд▓ рдХрд┐рдпрд╛
рдХреБрдВрдЖред рдпрд╣ рд╕рдВрднрд╡ рд╣реИред рд╣рдо react-admin
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рд╣реИ ~ 1.5ред
рдореИрдВрдиреЗ JssProvider
рдЬреЛрдбрд╝рдХрд░ рдЙрддреНрдкрд╛рджрди рдкрд░ рдмрдЧ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред рдЕрдм рдореИрдВ рдкреГрд╖реНрда рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
import React from "react";
import { Admin, Resource } from "react-admin";
import JssProvider from "react-jss/lib/JssProvider";
const App = () => (
<JssProvider>
<Admin dataProvider={dataProvider}>
<Resource name="trip" list={RequestsList} className="resourceItem" />
</Admin>
</JssProvider>
);
export default App;
@andrewkslv рдпрд╣ рд╡рд╣реА рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо рдЗрд╕реЗ JssProvider
рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХреЗрд╡рд▓ @ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ рд╕реЗ Input
рдФрд░ Button
рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд▓рд┐рдП рдмрд╛рдХреА ui рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред
@oliviertassinari рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдЬрд╛рдБрдЪ рдХреА рд╣реИ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд npm ls @material-ui/core
рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ:
тФЬтФАтФм @bootstrap-styled/[email protected]
тФВ тФФтФАтФА @material-ui/[email protected]
тФЬтФАтФА @material-ui/[email protected]
тФФтФАтФм [email protected]
тФФтФАтФА @material-ui/[email protected]
рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж:
rm -rf node_modules/@bootstrap-styled/ra-ui/node_modules/@material-ui/
rm -rf node_modules/ra-ui-materialui/node_modules/@material-ui/
npm ls @material-ui/core
тФЬтФАтФм @bootstrap-styled/[email protected]
тФВ тФФтФАтФА UNMET DEPENDENCY @material-ui/[email protected]
тФЬтФАтФА @material-ui/[email protected]
тФФтФАтФм [email protected]
тФФтФАтФА UNMET DEPENDENCY @material-ui/[email protected]
рдлрд┐рд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХреЛрдИ рд╕реАрдПрд╕рдПрд╕ рдореБрджреНрджрд╛ рдирд╣реАрдВ)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ ...
рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ @ рд╕рд╛рдордЧреНрд░реА-рдЙрдИ рдирд┐рд░реНрднрд░рддрд╛:
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
@kopax рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдореИрдВ рдХреБрдЫ рдбрд┐рдмрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдпрд╣ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ рдХреЗ рд╕рд╛рде рд╕реНрдЯрд╛рдЗрд▓-рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рд╕рдордп рд╣реИ, рддреЛ рдореБрдЭреЗ Gitter рдкрд░ рдПрдХреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреИрдЯ рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реЛрдЧрд╛ред
рдХрд╛рдо рдХрд░ рд╕рдорд╛рдзрд╛рди рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдРрд╕реЗ рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ npm рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдпрд╛ред
рд╣рдореЗрдВ рд╕реЛрдорд╡рд╛рд░ рдХреЛ рдореМрдХрд╛ рдорд┐рд▓реЗрдЧрд╛, рдореИрдВ рдореБрдИ рдЧрдЯрд░ рдЪреИрдирд▓ рд╕реЗ рдЬреБрдбрд╝реВрдВрдЧрд╛ред
рд╣рд╛рдп @ kopax , рдЖрдк рдПрдХ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдерд╛?
рдирд╣реАрдВ рдЕрднреА рддрдХ рдирд╣реАрдВред рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВред @oliviertassinari рдореИрдВ
@andrewkslv рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рдореИрдВ react-admin
рдФрд░ AWS рдПрдореНрдкрд▓реАрдлрд╛рдп рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХрднреА рднреА рдореИрдВ рдЕрдкрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ S3 рдмрд╛рд▓реНрдЯреА рдореЗрдВ рддреИрдирд╛рдд рдХрд░реВрдВрдЧрд╛, рд╢реИрд▓реА рд╕рднреА рдЯреВрдЯ рдЬрд╛рдПрдЧреА, рдФрд░ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдмрдЪрд╛ рд▓рд┐рдпрд╛ред
рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдпрд╣рд╛рдБред рдХреНрдпреЛрдВ JssProvider рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ?
рдореИрдВрдиреЗ v4 рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝ рджреА рд╣реИ рдЬрдм рдЪреЗрддрд╛рд╡рдиреА рджреА рдЧрдИ рд╣реИ рдХрд┐ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╢реИрд▓реА рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: # 15422ред
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ react-admin
рдореЗрдВ рдЙрдард╛рдпрд╛ рдЬрдм рд╡реЗ рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдпреВрдЖрдИ рдХреЗ рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рдереЗ рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
https://github.com/marmelab/react-admin/pull/3102#issuecomment -48322222020
рдореИрдВ рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХрд╣рд╛рдВ рдкрд╛ рд╕рдХрддрд╛ рд╣реВрдВ - рдХреНрд▓рд╛рд╕рдиреЗрдо рдХрд╛ рд╡рд┐рд░реЛрдз # 8223?
рдзрдиреНрдпрд╡рд╛рдж,
@oliviertassinari рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░рдирд╛, рднрд▓реЗ рд╣реА рдореИрдВрдиреЗ рд╕рднреА рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рд╣реЛред рдЪреВрдВрдХрд┐ рдпрд╣ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИред
рдореИрдВ рд╕рдВрдХреБрд▓ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
"@ рд╕рд╛рдордЧреНрд░реА-рдЙрдИ / рдХреЛрд░": "^ 4.6.1",
"@ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ / рдЖрдЗрдХрди": "^ 4.5.1",
"рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛": "^ 16.12.0",
"рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреЛрдо": "^ 16.12.0",
"рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЬреЗрдбрдПрд╕": "^ 10.0.0",
"рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд╕реНрдХреНрд░рд┐рдкреНрдЯ": "3.2.0"
рдЕрджреНрдпрддрди: рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЗрд╕ рднрд╛рдЧ рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░ рджреАред
https://material-ui.com/styles/api/#creategenerateclassname-options- рд╡рд░реНрдЧ-рдирд╛рдо-рдЬрдирд░реЗрдЯрд░
рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣, JSSProvider рд╕рдорд╛рдзрд╛рди рдЬреЛ рдЕрдиреНрдп рд╕рднреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╡реИрд╕реЗ рднреА, рдзрдиреНрдпрд╡рд╛рдж :)
рдзрдиреНрдпрд╡рд╛рдж @KannugoPrithvi , рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ! https://material-ui.com/styles/api/#creategenerateclassname-options- рд╡рд░реНрдЧ-рдирд╛рдо-рдЬрдирд░реЗрдЯрд░
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореЗрд░реЗ рдкрд╛рд╕ рдЯрдХрд░рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдирд╛рдо рдереЗ рдФрд░
createGenerateClassName
рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИредрдпрд╣рд╛рдБ рдорд╣рд╛рди, рд╡реНрдпрд╛рдкрдХ рдбреЙрдХреНрдЯрд░