Sizga Redux kerak emas bo'lishi mumkin

Odamlar ko'pincha Reduxni kerak bo'lmasdan oldin tanlaydilar. "Agar bizning dasturimiz shunchalik kengaytirmasa nima bo'ladi?" Keyinroq ishlab chiquvchilar o'zlarining kodlari bilan tanishtirgan Redux-ga aldanib qolishdi. "Oddiy funktsiyani ishlashi uchun nima uchun uchta faylga tegib turishim kerak?" Nega haqiqatan ham!

Odamlar Redux, React, funktsional dasturlash, o'zgarmaslik va boshqa ko'plab narsalarni o'zlarining holatlarida ayblashadi va men ularni tushunaman. Reduxni holatni yangilash uchun "qozon" kodini talab qilmaydigan usul bilan taqqoslash va Redux shunchaki murakkab degan xulosaga kelish tabiiydir. Bu qandaydir tarzda va dizayni bo'yicha.

Redux savdo taklif qiladi. Sizdan so'raydi:

  • Qo'llash holatini oddiy ob'ektlar va massivlar sifatida tavsiflang.
  • Tizimdagi o'zgarishlarni oddiy ob'ektlar sifatida tavsiflang.
  • O'zgarishlarni qayta ishlash mantig'ini sof funktsiyalar sifatida tavsiflang.

Ushbu cheklovlarning hech biri React bilan yoki reaksiyasiz ilova yaratish uchun talab qilinmaydi. Aslida, bu juda kuchli cheklovlar, va ularni hatto ilovangizning ayrim qismlarida ishlatishdan oldin yaxshilab o'ylab ko'ring.

Buning uchun sizda asosli sabablar bormi?

Ushbu cheklovlar menga juda yoqadi, chunki ular quyidagi ilovalarni yaratishga yordam beradi:

  • Mahalliy saqlash joyida saqlang va undan tashqarida, qutidan olib chiqing.
  • Serverda oldindan to'ldirish, HTML-ga mijozga yuborish va undan qutidan tashqari yuklash.
  • Foydalanuvchi harakatlarini ketma-ket tartibga soling va ularni davlat rasmlari bilan birgalikda avtomatik xato hisobotlariga qo'shib qo'ying, shunda mahsulotni ishlab chiquvchilar xatolarni takrorlashlari uchun ularni takrorlaydilar.
  • Kodni qanday yozish kerakligini keskin o'zgartirmasdan, hamkorlikdagi muhitni amalga oshirish uchun harakat ob'ektlarini tarmoq orqali o'tkazing.
  • Kodni qanday yozish kerakligini keskin o'zgartirmasdan, tarixni bekor qiling yoki optimistik mutatsiyalarni amalga oshiring.
  • Taraqqiyotda davlat tarixi o'rtasidagi sayohat va kod o'zgarganda, amal tarixidan hozirgi holatni qayta ko'rib chiqing, TDD.
  • Mahsulotlarni ishlab chiquvchilar o'zlarining ilovalari uchun maxsus vositalarni yaratishlari uchun ishlab chiqish vositalariga to'liq tekshirish va nazorat qilish imkoniyatlarini taqdim eting.
  • Aksariyat biznes mantiqlaridan foydalanishda muqobil foydalanuvchi interfeyslarini taqdim eting.

Agar siz kengaytiriladigan terminalda ishlayotgan bo'lsangiz, JavaScript tuzatuvchisi yoki ba'zi bir webapplar bo'lsa, uni sinab ko'rishingiz yoki hech bo'lmaganda uning ba'zi g'oyalarini (masalan, ular yangi emas) ko'rib chiqishingiz kerak bo'ladi.

Ammo, agar siz reaktsiyani o'rganayotgan bo'lsangiz, Reduxni birinchi tanlovingizga aylantirmang.

Buning o'rniga React-da o'ylashni o'rganing. Agar siz haqiqiy ehtiyojni sezsangiz yoki biron bir yangi narsani sinab ko'rmoqchi bo'lsangiz, Reduxga qaytib keling. Ammo har qanday yuqori baholanadigan vositani ishlatganingiz kabi, unga ehtiyotkorlik bilan murojaat qiling.

Agar siz "Redux yo'lini" bajarishga majburlasangiz, bu siz yoki jamoadoshlaringiz buni juda jiddiy qabul qilayotganingiz belgisi bo'lishi mumkin. Bu sizning asboblar qutisidagi vositalardan biri, tajriba befoyda.

Va nihoyat, Redux-dan foydalanmasdan Redux-dan g'oyalarni qo'llashingiz mumkinligini unutmang. Masalan, mahalliy shtat bilan reaktsiya komponentini ko'rib chiqing:

Bu juda yaxshi. Jiddiy ravishda, u takrorlanadi.

Mahalliy davlat yaxshi.

Redux taklif qiladigan narsa, "qanday sodir bo'lganligi" ni "qanday sodir bo'lganligi" ni echish uchun bilvosita qo'shishdir.

Doim qilish yaxshi ishmi? Yo'q. Bu savdo.

Masalan, biz komponentimizdan reduktorni olamiz:

Redpuxni npm-ni o'rnatmasdan qanday ishlatganimizga e'tibor bering. Qoyil!

Buni o'zingizning oshkora tarkibiy qismlarga qilish kerakmi? Ehtimol yo'q. Ya'ni, agar siz ushbu qo'shimcha bilvosita foyda olish uchun rejangiz bo'lmasa. Rejaga ega bo'lish, bizning zamonamizga muvofiq, .

Redux kutubxonasining o'zi bu yagona global do'kon ob'ektiga reduktorlarni "o'rnatish" uchun yordamchilar to'plamidir. Siz xohlaganingizcha Redux-dan oz yoki ko'proq foydalanishingiz mumkin.

Ammo agar biron bir narsani sotsangiz, evaziga sizga biron bir narsa olishiga ishonch hosil qiling.