TypeScript Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ:
ΠΠ½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°:
const useStyles = makeStyles(styles);
ΠΠ½ΡΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°:
const {/* stuff */} = useStyles();
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ useStyles();
ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡ, Π° WebStorm ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ: Β«TS2554: ΠΠΆΠΈΠ΄Π°Π΅ΡΡΡ 1 Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ 0.Β» Π² ΡΠ΅ΠΌΠ΅.
| Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ | ΠΠ΅ΡΡΠΈΡ |
| -------------- | --------- |
| @ material-ui / styles | 3.0.0-alpha.4 |
| React | 16.7.0-alpha.2 |
| TypeScript | 3.1.1 |
ΠΠΊΠ»ΡΡΠΈΡΠ΅ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ styles
ΠΈ tsconfig.json
. ΠΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ tsc
? Π‘ΠΏΡΠ°ΡΠΈΠ²Π°Ρ ΠΎΠ± ΡΡΠΎΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ IDE, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΡΠΈΡ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°.
ΠΠ΅ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ ΠΏΡΠΈΠ΄ΠΈΡΠΊΠ°: ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π²Π΅ΡΡΠΈΠΈ react@next
ΠΌΠ΅Π½ΡΡΡΡΡ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΠΈΠΌΠ΅Π»ΠΈ Π²Π²ΠΈΠ΄Ρ [email protected]
?
Π― Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ tsc
ΡΠ°ΠΌ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ΅Π΄Ρ IDE Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ .ts/x
Π² .js/x
Π½Π°ΠΏΡΡΠΌΡΡ (Π½Π° ΠΌΠ΅ΡΡΠ΅) Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΡΠ°ΠΉΠ» TypeScript.
Π ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ WebStorm Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π΅ΡΡΠΈΡ 3.1.1
.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ OP, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π·ΠΈΡΡ Π²Π΅ΡΡΠΈΡ React, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ: 16.7.0-alpha.2
styles
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ:
const styles = {
chart: {
width: '100%',
height: 70,
backgroundColor: '#f9f9f9'
},
}
(Π― ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎ ΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° styles
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ ( theme => { /* definitions */ }
).
tsconfig.json
:
{
"compilerOptions": {
"sourceMap": false,
"target": "ES2017",
"module": "ES6",
"jsx": "react",
"moduleResolution": "Node",
"strictPropertyInitialization": true,
"strictNullChecks": true,
"noImplicitAny": true
}
}
(Π― ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎ ΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π°
styles
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ (theme => { /* definitions */ }
).
Π’ΠΎΠ³Π΄Π° Ρ Π²Π°ΡΠ΅ΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΠΈ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ [email protected]
(ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°: true) ΠΈ @material-ui/[email protected]
. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ [email protected]
@TeoTN Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΎΡΡΠ΅Ρ. ΠΡΠΌΠ°Ρ, Ρ Π·Π½Π°Ρ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
@TeoTN ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ΄, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π― Π½Π΅ ΠΌΠΎΠ³Ρ ΡΡΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ.
@ eps1lon Π²ΠΎΡ ΡΠ΅ΠΏΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ: TeoTN / mui-ts-bug
Π― ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΡΡΠΎΠ³ΠΎ Π±ΠΈΠ»Π΅ΡΠ° Ρ [email protected]
ΠΈ @material-ui/[email protected]
.
ΠΠΎΡ ΠΏΡΠΈΡΠΈΠ½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Ρ [email protected]
Π·Π°ΠΊΠ»ΡΡΠ°Π»Π°ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ VS Code Π±ΡΠ» Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ Ρ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠΌΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°ΠΌΠΈ.
ΠΡΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π΅ Π½Π° [email protected]
Π±ΡΠ»ΠΈ Π½ΠΎΠ²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠΊΠΎΠ»ΠΎ makeStyles
like
Types of property 'main' are incompatible.
Type '{ position: string; top: number; left: number; bottom: number; right: number; }' is not assignable to type 'CSSProperties | ((props: {}) => CSSProperties)'.
Type '{ position: string; top: number; left: number; bottom: number; right: number; }' is not assignable to type 'CSSProperties'.
Types of property 'position' are incompatible.
Type 'string' is not assignable to type 'PositionProperty'. TS2345
9 | }));
10 |
> 11 | const useStyles = makeStyles((theme: Theme) => ({
| ^
12 | main: {
13 | position: 'absolute',
14 | top: 0,
Π― ΡΠΌΠΎΠ³ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ createStyles
Π²ΡΠΎΠ΄Π΅:
const useStyles = makeStyles((theme: Theme) =>
createStyles({
main: {
position: 'absolute',
top: 0,
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ import { createStyles } from '@material-ui/styles';
ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ createStyles
ΠΈΠ· @material-ui/core
- Π½Π΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ createStyles
Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ°ΠΊ Ρ [email protected]
ΠΈ Ρ [email protected]
.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ΅ Π½Π° Π²ΡΠΏΡΡΠΊ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°, Ρ Π·Π°ΠΊΡΠΎΡ ΡΡΠΎ. ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π°ΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. Π‘ΠΎΠΎΠ±ΡΠΈΡΠ΅ ΠΎ Π½ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ½ΠΎΠ²Π° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Typescript.
ΠΡΠΎΠ΄Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° 3.5.1, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ (Π²ΠΌΠ΅ΡΡΠ΅ Ρ material-ui 4)
Π Π²Π΅ΡΡΠΈΠΈ 4.0.2 ΠΈ ts 3.5.1 Ρ ΠΌΠΎΠ³Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² "strictNullChecks": false Π² ΠΌΠΎΠΉ tsconfig.json.
Π Π²Π΅ΡΡΠΈΠΈ 4.0.2 ΠΈ ts 3.5.1 Ρ ΠΌΠΎΠ³Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² "strictNullChecks": false Π² ΠΌΠΎΠΉ tsconfig.json.
ΠΡΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π°ΡΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ:
ΠΠ°ΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ tsconfig.json. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ tsconfig.json ΠΈΠ»ΠΈ ΠΏΡΠΎΠΏΡΡΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
- https://material-ui.com/guides/typescript/
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄ types/
, Π½Π΅ ΡΠ΅ΡΡΠΈΡΡΠ΅ΡΡΡ Ρ "strictNullChecks": false
Π° ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
Π― ΡΠ΄ΠΈΠ²Π»Π΅Π½. Π― ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠΎ strict: false ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠ°Π½ΡΡΠ΅ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π» Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ v3.x ΡΠ°Π±ΠΎΡΠ°Π», Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ», ΡΡΠΎ 4.x ΡΠΎΠΆΠ΅.
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠ° Π·Π°ΠΌΠ΅ΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π΄ΡΡΠ³ΠΈΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎΠ± ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, ΡΡΠΎ, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Π°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠ½Ρ, Π² 3.x Π±ΡΠ»ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡ Π»ΠΈΠ±ΠΎ Π½Π΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ Π½ΠΈΠΌΠΈ, Π»ΠΈΠ±ΠΎ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π»ΠΈ Π½Π΅ΡΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ. ΠΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΎ Π² 4.x.
Π― ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π±ΡΠ»ΠΈ, ΠΈ ΠΌΠ½Π΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ.
ΠΠΎ Π΅ΡΠ»ΠΈ Ρ Π²ΠΎΠ·ΡΠΌΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Ρ strict: true
, Ρ Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΠ² Π΅Π³ΠΎ Π½Π° strict: false
. Π― Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ.
Π― Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ.
ΠΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ strictNullChecks: false
. ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ ΡΠ»Π°Π³Π° undefined | null
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ any
. ΠΠΎ ΡΡΠΎ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ!
ΠΠ°ΠΊ ΠΌΠ½Π΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? ΠΡΠ»ΠΈ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null, makeStyles Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Β«Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ ΠΊΠ»Π°ΡΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Β». ΠΠ½ΠΎΠ³Π΄Π° Ρ ΠΌΠ΅Π½Ρ Π½Π΅Ρ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ°, ΡΡΠΎ ΠΌΠ½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ?
@krazyjakee ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ const c = useStyles({});
@krazyjakee ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅
const c = useStyles({});
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ!
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Ρ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ 3.7.5.
ΠΡΠΎ const c = useStyles({});
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ,
Π½ΠΎ ΡΡΠΎ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΌ:
https://material-ui.com/zh/styles/basics/
FWIW, Π²ΠΈΠΆΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅. Π― ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π·Π΄Π΅ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ (https://github.com/mui-org/material-ui/issues/16867) Ρ strict
ΠΈ strictNullChecks
, Π½ΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ Π±Π΅Π· ΠΊΡΠ±ΠΈΠΊΠΎΠ². const c = useStyles({});
ΡΠ΅ΠΏΠ΅ΡΡ "ΠΏΡΡΡ"?
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@krazyjakee ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅
const c = useStyles({});