https://github.com/latobibor/antd-tryout/commit/e373cb5038d88bf73358a05c8b37e0369dbaf478
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ.
Π ΠΆΡΡΠ½Π°Π»Π΅ console.log ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅: Β«ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: findDOMNode ΡΡΡΠ°ΡΠ΅Π» Π² StrictMode. FindDOMNode Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Wave, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ StrictMode. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠ»ΠΊΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠ»ΠΎΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π·Π΄Π΅ΡΡ: "
| ΠΠΊΡΡΠΆΠ°ΡΡΠ°Ρ ΡΡΠ΅Π΄Π° | ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ |
| --- | --- |
| antd | 4.0.3 |
| React | 16.13.1 |
| Π‘ΠΈΡΡΠ΅ΠΌΠ° | Windows 8.1 |
| ΠΡΠ°ΡΠ·Π΅Ρ | Π₯ΡΠΎΠΌ 80 |
ΠΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° <Button />
.
Π‘ΠΌ. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»:
https://github.com/latobibor/antd-tryout/commit/e373cb5038d88bf73358a05c8b37e0369dbaf478#diff -b525f6f7c3584f9af17112d37dae3a42
Π²ΡΠ²ΠΎΠ΄ Π½Π° ΠΏΠ΅Π½ΡΠΈΡ
Π― ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΡ Π² ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ antd v4.0.4
Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of Wave which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node
ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠ΅Π½Π΅Π½Ρ.
Π£Π±ΠΈΡΠ°ΡΡ ΡΡΡΠΎΠ³ΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π΄ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠΌΠ΅ΡΠ½ΠΎ. ΠΡΠΎ Π·Π°ΠΊΠΎΠ½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ antd, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
Π― ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΡ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ # 9870
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π·Π΄Π΅ΡΡ ΠΏΠΎΡΠ»Π΅ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° https://ant.design/docs/react/use-in-typescript
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: findDOMNode ΡΡΡΠ°ΡΠ΅Π» Π² StrictMode. findDOMNode Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Wave, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ StrictMode. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠ»ΠΊΡ ΠΏΡΡΠΌΠΎ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡΠ»Π°ΡΡΡΡ. Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠ»ΠΎΠΊ Π·Π΄Π΅ΡΡ: https://fb.me/react-strict-mode-find-node
ReactDOM.render(
// <React.StrictMode>
<App />
// </React.StrictMode>,
,
document.getElementById('root')
);
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠΎΠΆΠ΅ΡΡ ΠΏΠΎΡΠΈΠ½ΠΈΡΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°?
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠΎΠΆΠ΅ΡΡ ΠΏΠΎΡΠΈΠ½ΠΈΡΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°?
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² <Button />
.
Π£ ΠΌΠ΅Π½Ρ ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠ°ΠΆΠ΅ΡΡΡ<InputMask
mask='99/99/9999'
onFocus={onFocus} onBlur={onBlur}
defaultValue={fields.birthdate.value}
error={fields.birthdate.error}
helperText={fields.birthdate.helperText}
id='birthdate' name='birthdate' label='Birthdate MM/DD/YYYY'
type='tel' variant='filled' margin='dense'
>
{(inputProps) =>
<TextField {...inputProps} />
}
</InputMask>
ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ?
ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ?
Π‘ΠΎΠΎΠ±ΡΠΈΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π² ΠΊΠΎΠ΄Π΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ.
Π£ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ SubMenu ΠΈ Select.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΉ API Π±ΡΠ» ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ Π² Π΄Π΅ΡΠ΅Π²Π΅ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°.
Π‘ΡΠ°ΡΡΠΉ API Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ Π²ΡΠΏΡΡΠΊΠ°Ρ 16.x, Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π΅Π³ΠΎ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ.
ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ: SubMenu
Π― ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° :(
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π·Π΄Π΅ΡΡ, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΈΠ½Π²Π°Π»ΠΈΠ΄Π°ΠΌΠΈ
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΠ΄Π΅ΡΡ ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π΅ΡΡΡ Π»ΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ant ΡΠΆΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
ΠΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΄Π°Π΅Ρ ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:
<Menu mode="horizontal" >
ΠΡΠ»ΠΈ ΡΠ±ΡΠ°ΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΡΡΠ΅Π·Π½Π΅Ρ. ΠΠΎ ΡΡΠΎ Π½Π΅ Π²ΡΡ
ΠΎΠ΄.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of DOMWrap which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node
in ul (created by DOMWrap)
in DOMWrap (created by SubPopupMenu)
in SubPopupMenu (created by Connect(SubPopupMenu))
in Connect(SubPopupMenu) (created by Menu)
in Provider (created by Menu)
in Menu (created by Context.Consumer)
in InternalMenu (created by Context.Consumer)
"antd": "^4.1.5"
"react": "^16.13.1"
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅ !!! ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°.
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, @latobibor. ΠΠ°ΠΌ ΠΎΡΠ΅Π½Ρ Π½ΡΠ°Π²ΠΈΡΡΡ Π²Π°ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ / ΠΎΡΠ·ΡΠ², Π΄ΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π°ΠΌ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅. ΠΡΠΏΡΠ°Π²ΡΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π²Π΅ΡΠΊΡ (Π²Π΅ΡΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠ°ΡΡΠ΅Ρ Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ), Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π½Π°
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, @latobibor, ΠΌΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ½Ρ Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ / ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π° ΡΡΠΎΠΌ ΡΠΊΠ»Π°Π΄Π΅ Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠΏΡΠ°Π²ΡΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ (Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π²Π΅ΡΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΄ΡΡΠ³ΠΈΠ΅ Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ), ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΆΡΡΠ½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ TypeScript, ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΈ Ρ. Π., ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ , Π ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ CI ΠΏΡΠΎΠΉΠ΄Π΅Π½, ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΡΠ΅Π΅, Π·Π°ΡΠ°Π½Π΅Π΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌ Π²Π°Ρ ΠΈ Ρ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Π΅ΠΌ Π²Π°ΡΠ΅Π³ΠΎ Π²ΠΊΠ»Π°Π΄Π°!
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
index.js:1 Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of Wave which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node
in button (created by Context.Consumer)
in Wave (created by Context.Consumer)
in Button (at SignInPage/index.js:93)
in div (created by FormItemInput)
in div (created by FormItemInput)
in div (created by Context.Consumer)
in Col (created by FormItemInput)
in FormItemInput (created by FormItem)
in div (created by Context.Consumer)
in Row (created by FormItem)
in FormItem (at SignInPage/index.js:92)
in form (created by ForwardRef(Form))
in ForwardRef(Form) (created by ForwardRef(InternalForm))
in SizeContextProvider (created by ForwardRef(InternalForm))
in ForwardRef(InternalForm) (at SignInPage/index.js:43)
in div (at SignInPage/index.js:42)
in div (at SignInPage/index.js:33)
in div (created by Context.Consumer)
in Col (at SignInPage/index.js:32)
in div (created by Context.Consumer)
in Row (at SignInPage/index.js:31)
in SignInPage (at AuthLayout/index.js:14)
in Route (at AuthLayout/index.js:10)
in Switch (at AuthLayout/index.js:7)
in AuthLayout (at publicRoute.js:11)
in Route (at publicRoute.js:9)
in PublicRoute (at App.js:17)
in Switch (at App.js:16)
in Suspense (at App.js:15)
in Router (created by BrowserRouter)
in BrowserRouter (at App.js:14)
in div (at App.js:13)
in App (at src/index.js:9)
in StrictMode (at src/index.js:8)
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΠ» Π·Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΌ use-in-typescript Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠ΅ΠΉ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΡΠΎΠΉ:
const App = () => (
<div className="App">
<Button type="primary">Button</Button>
</div>
);
ΠΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ index.js:1 Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of Wave which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here
Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ?
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ React.StrictMode ΠΈ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Ant ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ.
ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ, ΠΈ
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π·Π΄Π΅ΡΡ, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΈΠ½Π²Π°Π»ΠΈΠ΄Π°ΠΌΠΈ
, Π½ΠΎ ΠΎΡΠ΅Π½Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΡΠΎΡΠ½ΠΎ
ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ (antd 4.2.0)
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
index.js:1 Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of Wave which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node
+1
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ
.
ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π±ΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ! Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ antd!
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
ΡΠ°ΠΊ ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ?
ΠΠ»ΡΡ ΠΎΠ΄ΠΈΠ½
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π£ Π²Π°Ρ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅!
Π’Π°ΠΊΠΆΠ΅ Π²ΠΈΠΆΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅
Π‘ΡΠΎΠ»ΠΊΠ½ΡΠ²ΡΠΈΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π·Π΄Π΅ΡΡ
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡΠΎ-ΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ?
ΠΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΡΡΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ antd? Π― ΠΏΠ΅ΡΠ΅ΡΠ΅Π» Π½Π° antd 3. ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡΠ°Π»Π°ΡΡ ΠΏΡΠ΅ΠΆΠ½Π΅ΠΉ.
ΠΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ
ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅. ΠΡΠΎΠ΄Π΅ Π±Ρ Π²ΠΎΠΏΡΠΎΡ Π½Π°ΡΡΡΠ½ΡΠΉ. ΠΡΡΠ°Π²Π΅ΠΉ Π, Π³Π΄Π΅ ΡΡ?
ΠΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΅ΠΉΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΈΠ°ΡΠΎΠΌ? Π― ΠΌΠΎΠ³Ρ Π½Π°ΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ
@caelinsutch ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π·Π½Π°Ρ, Π½ΠΈΠΊΡΠΎ.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ wave.tsx ΠΈΠ·-Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ findDOMNode. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΠ΅ΠΉ ΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ° ΠΈΠ»ΠΈ ΡΡΠ°
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ:
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°: https://ant.design/components/form-cn/
Π― Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²Π°Ρ ΡΠΊΠ·Π°ΠΌΠ΅Π½ ΡΠ΅ΡΠΈΡ ΠΌΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ: https://github.com/ant-design/ant-design/issues/22493#issuecomment -619562638. Π ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠ΅ΠΌ Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈΡΡ. ΠΡΠ»ΠΈ ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΄Π΅Π»Π°Π».
@CathyXian ΠΠ±Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² ΡΠΎΡΠΌΠ΅ Π½Π΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ <Button>
Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠΎΡΠΌΠ°Ρ
, Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡ onClick
.
ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π» @caelinsutch , ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Wave ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ findDOMNode.
ΠΡΡΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ², ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄, Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»:
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ https://github.com/ant-design/ant-design/blob/dabec4c8331c6171aaac08ad8b347c6ae754f032/components/switch/index.tsx#L65
Π’Π΅Π³ https://github.com/ant-design/ant-design/blob/e1299bfcc97a97078c51f33ae939d815e4eacf7f/components/tag/index.tsx#L114 -L127
ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠΉ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠ°ΡΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
Π, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°: https://github.com/ant-design/ant-design/search?q=findDOMNode&unscoped_q=findDOMNode
ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΎΠ½ Π½Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
<React.Suspense fallback={''}>
<App />
</React.Suspense>
ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΎΠ½ Π½Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
<React.Suspense fallback={''}> <App /> </React.Suspense>
Π― ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΡΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΠ°ΡΠΌ, Π½ΠΎ Π²ΠΎΠΏΡΠΎΡ Π² ΡΠΎΠΌ, Π΅ΡΡΡ Π»ΠΈ ΡΡΠΎ Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ?
ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΎΠ½ Π½Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
<React.Suspense fallback={''}> <App /> </React.Suspense>
ΠΡΠΎ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΠ±Π΅ΡΠ½ΡΡΠΎΠ³ΠΎ <React.StrictMode>
Π²ΠΎΠΊΡΡΠ³ <App>
. Π ΡΡΠΎΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ
Π’ΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅,
Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ Π΄Π°ΡΡ Π΅ΠΌΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ?
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° π
Π£ ΠΌΠ΅Π½Ρ Π·Π΄Π΅ΡΡ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°ΡΠ΅Π» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
Π£ ΠΌΠ΅Π½Ρ Π·Π΄Π΅ΡΡ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°ΡΠ΅Π» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
Π― ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅, ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΊΠΎΠ΄Π°, Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π΄ΠΎΠ±Π΅ΡΡΡΡ Π΄ΠΎ Π½Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ Π½Π° ΡΡΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ! Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°!
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
`<Button
htmlType="button"
icon={<LoginOutlined />}
onClick={this.onLogin.bind(this)}
>
Welcome Back
</Button>`
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π°ΡΡΠΈΠ±ΡΡ htmlType, Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ StrictMode Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ. @antd, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΡΠ±ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ....
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ SubMenu.
"ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ": "^ 16.13.1",
"react-dom": "^ 16.13.1",
"antd": "^ 4.3.1",
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΡΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² form.item
<Button type="primary" htmlType="submit" >
LOG IN
</Button>
ΠΠΎΡΠ΅ΠΌΡ Π±Ρ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? @ afc163
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π»ΡΠ±ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π² Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ,
ΠΠ΄Π΅ΡΡ ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠ½ ΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Button
, Π½ΠΎ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ Wave
, Π² componentDidMount
ΠΈ onTransitionStart
. ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ref Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π° findDOMNode(this)
?
Ρ ΡΠΎΠΆΠ΅
+1
+1
+1
Π― Ρ ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΈ Π½Π΅ ΡΡΠ°Π²ΠΈΠ»ΠΈ +1, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ΄ΠΈΡΠ°ΡΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π»ΡΡ Π½Π° ΡΡΡ Π²Π΅ΡΠΊΡ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ ΠΈ Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ, @kreuzhofer @Lemii @moderndegree @TechieQian @lefterisk ΠΈ Π΄ΡΡΠ³ΠΈΠ΅
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅Π½Ρ Ant Design
ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ. Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΡΠ΅Π΅
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ant Design
+1
ΠΠ΄Π΅ΡΡ ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π’Π°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ, ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°.
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ
Π’Π°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ
ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ
ΠΠΎΠΌΠ°Π½Π΄Π° @Ant , Ρ Π±Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠΎ ΠΎΡΠΊΡΡΡΡΠΌ, Π½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ +1 ΠΈ Ρ ΡΠΎΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΡΠΌ ΠΈ ΡΠΏΠ°ΠΌ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΈΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠ½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΌΠΎΡΡ, Π²Π½ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ ΠΈ ΡΠΎΠΊΡΠ°ΡΠ°ΠΉΡΠ΅ ΠΎΠ±Π·ΠΎΡΡ ΠΊΠΎΠ΄Π°.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²ΡΠ΅, ΡΡΠΎ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅! :)
Π― ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» antd Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ React TypeScript, ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°ΠΆΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ: l
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ant.design.
"antd": "^ 4.6.3",
"ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ": "^ 16.13.1",
"react-dom": "^ 16.13.1",
ΠΡΠ±ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ? ΠΠ»ΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ?
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°. . . ΠΡΠ΅ Π½Π΅ ΡΠ΅ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ. .
Π― ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
Π― Π½Π°Ρ
ΠΎΠΆΡΡΡ Π½Π° "antd": "^ 4.6.2"
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Modal.
Π― ΠΏΠΎΠ»ΡΡΠ°Ρ 2 ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ:
`index.js: 1 ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ UNSAFE_componentWillReceiveProps Π² ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° https://fb.me/react-unsafe-component-lifecycles .
ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ :
index.js:1 Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of AnimateChild which is inside StrictMode. Instead, add a ref directly to the element you want to reference.
Π»ΡΠ±ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ?
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π² 4.6.6 ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ Π² ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ; ΠΎΠ½ΠΈ Π½Π΅ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ±ΠΎΡΠΊΡ. Π’Π°ΠΊ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡ ...
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ Π½Π΅ Π»ΡΡΡΠΈΠΉ ΠΎΡΠ²Π΅Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π²Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅?
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ant 4.6.6 ΠΈ React 16.13.1 :(
Π Π΅Π±ΡΡΠ°, ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π²Π°Ρ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ:
const isDev = process.env.NODE_ENV === 'development'
ReactDOM.render(
isDev ? <App /> : (
<React.StrictMode>
<App />
</React.StrictMode>
),
document.getElementById('root')
)
Π£ΡΠ°!
@rafaelcalhau
ΠΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ StrictMode, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠ°ΠΊ, Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΈ ΡΠΎΠ·Π΄Π°Π½ StrictMode.
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
@ enoh-barbu Π― Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
ΠΠ°ΠΊ Π±Ρ Ρ Π½ΠΈ Π½Π΅Π½Π°Π²ΠΈΠ΄Π΅Π» Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π΄ΠΈ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΏΠΎ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΠΌΠ΅ΡΠ½ΠΎ.
ΠΠ²Π΅ΡΡ
ΠΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π½Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ?
Π΄ΠΎ)
ΠΏΠΎΡΠ»Π΅)
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ.
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ.
ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ
ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ.
ΠΡΠ΅ Π΅ΡΠ΅ ΡΠ»ΠΎΠΌΠ°Π½
ΠΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π½Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ?
Π΄ΠΎ)
(Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅)ΠΏΠΎΡΠ»Π΅)
(Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅)
ΠΡΠ΅ Π»ΡΡΡΠ΅: Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°ΠΊΡΠΎΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΡΡΠ΅Π·Π½ΡΡ π
Π¨ΡΡΠΊΠΈ Π² ΡΡΠΎΡΠΎΠ½Ρ: ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΡΠΎΠΆΠ΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ
Π²ΡΠ΅ ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ React.StrictMode
ΠΠΎΠΏΡΠΎΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ, ΠΊΡΠΎ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΠΏΠΎΡΠΎΠΊΠΎΠΌ ... ΡΡΠΎ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΠΠΠ§ΠΠ’ (ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΎΡΠΈΠ±ΠΊΠ°), ΠΈ ΡΠΌΠΎΡΡΠ΅Π» Π»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π° ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ (ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ). Π§Π΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Ρ Π±Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ Π½Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (ΠΈΠ»ΠΈ Π·Π½Π°Π½ΠΈΡ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ), ΡΡΠΎΠ±Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ»ΠΈ Π³Π΄Π΅ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°.
edit: ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΡΠΎ Ρ ΡΠΎΠΆΠ΅ ΠΈΡΠΏΡΡΡΠ²Π°Ρ ΠΎΡΠΈΠ±ΠΊΡ (Ρ ΠΎΡΡ Ρ ΠΌΠ΅Π½Ρ Π΅Π΅ Π½Π΅ Π±ΡΠ»ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π° Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Ρ.Π΅. Π² ΠΊΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ findDOMNode Π²ΡΠ·Π²Π°Π» ΠΊΠ½ΠΎΠΏΠΊΡ?)
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ ΠΊΠ°ΠΊ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΡΡΡΠ°Π½ΡΡΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΊΠΈ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΡΠ²Π»ΡΡΡ Β«Π΄Π°, Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅Β».
@shawnpetros
Π― Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΡΠΊΡΠΏΠ΅ΡΡ ΠΏΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΡΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠΎΡΡΠ°ΡΠΈΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ·Π½Π°Π», ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ findDomNode ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π² Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²ΠΎΠ»Π½Π°? ΠΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ ΠΌΠΎΠ³Ρ ΡΠΎΠ±ΡΠ°ΡΡ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π²Π΅ΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° (ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Ρ ΠΏΡΠΈΠ±Π΅Π³Π°Π» Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π²ΠΎΠ»Π½Π΅, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΠΌΡ ...), ΡΡΠ΄Ρ ΠΏΠΎ Π²ΠΈΠ΄Ρ ΠΊΠΎΠ΄Π°, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ PR ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠ»Π½Ρ, ΡΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ findDomNode Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠΈΡΠΊ Π² Google ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΌΡΡΠ°Π²ΡΠ΅Π² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: https://stackoverflow.com/questions/61220424/material-ui-drawer-finddomnode-is-deprecated-in-strictmode), ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π±Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» Π½Π΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΠ½Π°ΡΠ΅ ΠΊΡΠΎ-ΡΠΎ ΡΠΆΠ΅ Π²ΡΠΊΠΎΡΠΈΠ» Π½Π° Π½Π΅Π³ΠΎ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, Π½Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Ρ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΌΡΡΠ°Π²ΡΠ΅Π² Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅ΠΌΡ ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΠΎΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ... Π―, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, ΡΠ΅Π½Ρ Π²ΡΡ ΠΈΡ ΡΠ°Π±ΠΎΡΡ, Π½Π°Π΄ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π·Π΄Π΅ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠ΅ Π±Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½ΠΈ Π±ΡΠ»ΠΎ, ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΎ, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅!
ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ:
Π΄Π»Ρ Π²ΡΠ΅Ρ
, ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ "Π»Π΅Π³ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅", Π²ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΡΠΊΠ°Π·Π° ΠΎΡ findDomNode. https://medium.com/trabe/getting-rid-of-finddomnode-method-in-your-react-application-a0d7093b2660
Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ, ΡΠ΅ΠΌ Ρ ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΅ΡΡΡ Β«ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅Β» Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ...
Π’ΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° https://github.com/ant-design/ant-design/issues/26136
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΡΠΎΡ Π±ΠΈΠ»Π΅Ρ ΠΎΡΠΊΡΡΡ Π±ΠΎΠ»Π΅Π΅ 7 ΠΌΠ΅ΡΡΡΠ΅Π².
ΠΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅
+1
Π― Π½Π΅ Π·Π½Π°Ρ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π½ΠΎ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°Ρ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΏΠ°ΠΌΠΈΡΡ Β«ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅Β» ΠΈ Β«+1Β» ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ: +1: Π² Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅.
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π² https://github.com/ant-design/ant-design/pull/27755
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΠΌΠ½Π΅ ΠΎΡΠ΅Π½Ρ Π½ΡΠ°Π²ΠΈΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΠΈΠΆΡ ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ [email protected].
ΠΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΠ° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π° Π²Π½ΡΡΡΠΈ ΡΠΎΡΠΌΡ.
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π£Π±ΠΈΡΠ°ΡΡ ΡΡΡΠΎΠ³ΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π΄ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠΌΠ΅ΡΠ½ΠΎ. ΠΡΠΎ Π·Π°ΠΊΠΎΠ½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ antd, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.