π 100 Π΄Π½Π΅ΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ β ΡΡΠΎ Ρ ΡΠ΄Π΅Π»Π°Π» Π½Π° 8-ΠΉ Π΄Π΅Π½Ρ
Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΠΈΠ·ΡΡΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΎΠΉ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ JavaScript β React. ΠΠΎΡΡΠΈ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π» Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π±Π»ΠΎΠ³Π°Ρ . Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΠΎΡΡΠ°ΡΠΈΠ² Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Π΄Π΅Π»ΠΈ Π½Π° Π΅Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅, Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²ΠΎΠΈΠ»ΡΡ Ρ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ JS.
β ΠΡΠΈΠ±ΠΊΠ° ΡΠΈΠΏΠ° β ΠΎΡΠ»Π°ΠΆΠ΅Π½ΠΎ
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ³ΠΎ, Π½Π° ΡΠ΅ΠΌ Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π²ΡΠ΅ΡΠ°. ΠΠ°! ΠΡΠΈΠ±ΠΊΠ°. ΠΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ. ΠΠ΅ ΠΌΠ½ΠΎΠΉ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π° Π΄Π²ΡΠΌΡ ΡΠ°Π·Π½ΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ β ΠΡΠ°Ρ ΠΡΡΠ°Π½ ΠΈ Π‘Π°ΠΊΠΈΠ± ΠΠΌΠΈΠ½. π
ΠΡΠ΅ΡΠ° Π²Π΅ΡΠ΅ΡΠΎΠΌ ΠΡΠ°Ρ ΡΠ²ΠΈΠ΄Π΅Π» ΠΌΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ½ΡΠ», ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π΄Π°Π΅Ρ. Π‘Π°ΠΊΠΈΠ± ΡΠ΄Π΅Π»Π°Π» ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΡΡΠΎΠΌ. ΠΠ½ ΡΠ΅ΡΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΎΡΠΊΡΡΠ» pull request (PR) Π½Π° GitHub.
Π’Π°ΠΊ Π² ΡΠ΅ΠΌ Π±ΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°!? Π― ΡΠ΄Π΅Π»Π°Π» ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π― ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π» onDelele Π²ΠΌΠ΅ΡΡΠΎ onDelete Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ². ΠΡΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»Π° ΠΊ ΡΠ±ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°ΠΆΠΈΠΌΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. π
ΠΡ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Ρ Π΄ΠΎΠΏΡΡΡΠΈΠ» ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ Π² ΡΡΡΠΎΠΊΠ΅ β10. ΠΠΎΡΠ»Π΅ Π΅Π΅ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π»ΠΎ Π²ΡΠ»Π΅ΡΠ°ΡΡ. ΠΠ°!! π₯
π¦ Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ React, Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π±Π΅Π· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅, Π½ΠΎ Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΠΊ!? ΠΠΎΠ·Π²ΠΎΠ»Ρ ΠΌΠ½Π΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π±Π΅.
β‘ ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΡΠΈΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½ΠΎ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ JSX-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΊ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ Π²ΡΡΠ΅, Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π» props Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ NavBar. ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π° Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ props Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ·ΠΆΠ΅ ΠΊ Π½Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
π ΠΠ΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Ρ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» this.props[property name] Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ . ΠΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΎ ΠΌΠΎΠΉ ΠΊΠΎΠ΄ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ½ΡΠΌ. Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ Π½Π°ΠΌ Ρ ΡΡΠΈΠΌ Π΄Π΅Π»Π°ΡΡ?
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°Ρ ΠΊΠΎΠ΄ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ΅, Π΄Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π² ΠΎΠ±ΡΠ΅ΠΊΡΡ props Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΠΌΠ΅ΡΡΠΎ this.props[ΠΈΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°]. π€
π ΠΡΡΡΠΊΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ React ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΡΠ΄ ΡΠ°Π· Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. ΠΡΠΎ ΡΠ°Π·Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ°Π·ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·Ρ, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΠ° Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΡΠ°ΠΏΠ°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΊΡΡΡΠΊΠ°ΠΌΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. React Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΈ ΠΊΡΡΡΠΊΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π·ΠΎΠΉ. π―
ΠΠ° ΡΡΠ°ΠΏΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² DOM. Π€Π°Π·Π° ΠΌΠΎΠ½ΡΠ°ΠΆΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΈ ΠΊΡΡΡΠΊΠ° ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°
- ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
- ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ
- ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΄ΠΈΠ΄ΠΌΠ°ΡΠ½Ρ
π ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° ΠΊΡΡΡΠΊΠ° ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°:
- ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ
- ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΄ΠΈΠ΄ΠΎΠ±Π΄Π°ΡΠ΅
ΠΡΠ°ΠΏ ΡΠ°Π·ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· DOM. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Ρ ΡΠΊ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ componentWillUnmount.
Π― ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΈΠ·ΡΡΠΈΠ» ΡΡΠΈ ΠΊΡΡΡΠΊΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, Π½ΠΎ Ρ Π½Π΅ Π±ΡΠ΄Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΡΡΠΊΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π±ΡΠ»ΠΈ ΠΌΠΎΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠ΅ΠΌΠΎΠΉ ΡΠ΅Π³ΠΎΠ΄Π½Ρ. ΠΠ°Π²ΡΡΠ° Ρ Π½Π°ΠΏΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Ρ ΡΠ·Π½Π°Π» Π² ΡΠ²ΠΎΠΉ 9-ΠΉ Π΄Π΅Π½Ρ. Π ΠΏΠΎΠΊΠ°, ΠΏΡΠΈΠ²Π΅Ρ β
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π½Π° https://msaad.dev 1 Π°Π²Π³ΡΡΡΠ° 2019 Π³.