Оскільки Context більше не є експериментальною функцією, і ви можете використовувати Context у своїй програмі безпосередньо, і він буде чудовим для передачі даних до глибоко вкладених компонентів, для чого він був розроблений.
Як Марк Еріксон написав у своєму блозі :
Якщо ви використовуєте Redux лише для того, щоб уникнути передачі реквізиту, контекст може замінити Redux - але тоді вам, напевно, Redux не знадобився.
Контекст також не дає вам нічого подібного Redux DevTools
, можливість відстежувати оновлення свого стану, middleware
додавати централізовану логіку програми та інші потужні можливості, що це Redux
дозволяє.
Redux
набагато потужніший і надає велику кількість функцій, які Context Api
не надає, також, як згадував @danAbramov
React Redux використовує контекст внутрішньо, але він не викриває цей факт у відкритому API. Тож вам слід відчувати себе набагато безпечніше, використовуючи контекст через React Redux, ніж безпосередньо, тому що якщо він зміниться, тягар оновлення коду ляже на React Redux, а не на вас.
Його upto Redux фактично оновить свою реалізацію, щоб вона відповідала останнім контекстним API
Останній API контексту може бути використаний для програм, де ви просто використовуєте Redux для передачі даних між компонентами, однак додаток, який використовує централізовані дані та обробляє запит API у творців Action, використовуючи redux-thunk
або redux-saga
все ще потребує скорочення. Крім цього скорочення, пов'язані інші бібліотеки, redux-persist
які дозволяють зберігати дані зберігання в localStorage та повторно регідрувати оновлення, що те, що API API все ще не підтримує.
Як згадував @dan_abramov у своєму блозі, вам може не потрібен Redux , що у redux є корисна програма, як-от
- Залиште стан до місцевого сховища, а потім завантажте його з коробки.
- Попередньо заповніть стан на сервері, надішліть його клієнтові в HTML і завантажте з нього з вікна.
- Серіалізуйте дії користувача та додайте їх разом із знімком стану до автоматизованих звітів про помилки, щоб розробники продуктів
могли відтворити їх для відтворення помилок.
- Передайте об’єкти дій по мережі для реалізації середовищ спільної роботи без різких змін у тому, як пишеться код.
- Зберігайте історію скасування або впроваджуйте оптимістичні мутації без різких змін у тому, як пишеться код.
- Подорожуйте між історією стану в розробці та переоцініть поточний стан з історії дій, коли код змінюється, a la TDD.
- Забезпечте повний огляд та контроль можливостей для розробки інструментів, щоб розробники продуктів могли створювати власні інструменти для своїх
додатків.
- Надайте альтернативні інтерфейси користувача, використовуючи при цьому більшість бізнес-логіки.
Завдяки цим багатьом додаткам ще занадто рано говорити про те, що Redux буде замінений новим API контексту
duix
пакет npm. Це лише простий менеджер штатів із зворотними дзвінками, дійсно простий у виконанні. Просто, щоб було зрозуміло: я творець.