ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ вас, ΠΊΠΎΠ»Π»Π΅Π³ΠΈ-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ! БСгодня ΠΌΡ‹ отправляСмся Π² ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ раскроСт скрытыС ΠΆΠ΅ΠΌΡ‡ΡƒΠΆΠΈΠ½Ρ‹ Redux β€” Ρ‚Π΅ Π½Π΅ΡƒΠ»ΠΎΠ²ΠΈΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ ΠΈΠ³Ρ€Ρƒ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ состояниСм Π² React. πŸš€ НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ Π»ΠΈ Π²Ρ‹ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ программистом ΠΈΠ»ΠΈ просто ΠΎΠΊΡƒΠ½ΡƒΠ»ΠΈΡΡŒ Π² Π²ΠΎΠ΄Ρƒ Redux, ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ΡΡŒ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚ΡŒΡΡ этим малоизвСстным функциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваш процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ»Π°Π²Π½Ρ‹ΠΌ, эффСктивным ΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ приятным!

1. ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ПО Redux: ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС: Π²Ρ‹ создаСтС ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ Ρƒ вас Π΅ΡΡ‚ΡŒ мноТСство дСйствий, ΠΏΡ€ΠΎΡ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Redux, ΠΊΠ°ΠΊ симфония. Но ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚Π΅ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ этими дСйствиями Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² Ρ€Π΅Π΄ΡƒΠΊΡ‚ΠΎΡ€Ρ‹? Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ПО Redux! πŸ› οΈ Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± этом ΠΊΠ°ΠΊ ΠΎ своСм Π»ΠΈΡ‡Π½ΠΎΠΌ Π΄ΠΈΡ€ΠΈΠΆΠ΅Ρ€Π΅, руководя оркСстром дСйствий. Он ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ дСйствия, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²Π΅Ρ€ΠΈ для асинхронных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π΅ΡΡˆΠΎΠ²Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ….

const loggingMiddleware = store => next => action => {
  console.log('Dispatching action:', action);
  return next(action);
};

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ, Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ сСтСвыС запросы Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ дСйствиС достигнСт Ρ€Π΅Π΄ΡƒΠΊΡ‚ΠΎΡ€Π°. Π­Ρ‚ΠΎΡ‚ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ контроля ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ³Ρ€Ρ‹ Π² слоТных прилоТСниях, помогая Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ошибки ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅ΠΌ эту ΡΠΈΠΌΡ„ΠΎΠ½ΠΈΡŽ ΠΈ Π³Π°Ρ€ΠΌΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ наш процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с Redux Middleware!

2. НСизмСняСмыС Π΄Π°Π½Π½Ρ‹Π΅ с Immer: ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΉ состояния Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅

Ах, вСчная Π±ΠΎΡ€ΡŒΠ±Π° с ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹ΠΌ состояниСм! НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ, Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π˜ΠΌΠΌΠ΅Ρ€. πŸ‘‘ Immer ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π²ΠΎΠ»ΡˆΠ΅Π±Π½ΡƒΡŽ ΠΏΠ°Π»ΠΎΡ‡ΠΊΡƒ, которая ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ измСнСния вашСго состояния Π² Ρ†Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚. Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ случайном ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состояния β€” концСпция Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠ° Immer позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с измСняСмым чСрновиком…