Native Development Reaktsiya bo'yicha 5 ta eng yaxshi amaliyot, siz bilmaysiz

Mening tajribamga asoslanib, mahalliy reaktsiyalar va reaktsiyalarni yozish bo'yicha tajribalarimga asoslangan bir nechta maslahatlarni aytib berganimdan so'ng, bugungi kunda siz bilmagan ehtimol sizga ba'zi yaxshi tajribalarni aytib beraman va umid qilamanki, sizning kunlaringizni yozishni mahalliy kodlarni yaxshiroq, tezroq va kuchliroq qiladi.

1. Har bir katalogdagi pack.json bilan katalog ravshanligi (reaktsiya-doğma yonida har qanday javascript bilan ishlaydi).

Birinchi ko'rsatma, ehtimol siz IDE-dan foydalanasiz yoki kodlaringizni yozishda foydalanadigan narsalardan foydalanishingiz mumkin va ehtimol siz turli xil papkalar tuzilishini ishlatishingiz mumkin. Har safar boshqa katalogdan tarkibiy qismlarni import qilganda, siz ushbu sintaksisdan foydalanasiz:

"../ComponentFolder/TextComponent" dan TextComponentni import qilish

yoki balki

"../../ComponentFolder/TextComponent" dan TextComponentni import qilish

yoki, ehtimol, hardcore

"../../../../ComponentFolder/TextComponent" dan TextComponentni import qilish

va hokazo

Shunday qilib, takrorlanadigan yozishni unutishga oid maslahatlar.

avval, import qilishni xohlagan har bir ildiz katalogida pack.json yarating, bu misol tarkibiy qismlar papkasi.

komponentlar jildi uchun pack.json

ikkinchidan, komponentni boshqa fayldan import qilishga harakat qiling.

to'g'ri ko'rinadi?

PS: siz yaxshiroq import qilish uchun Komponent indeksatsiyadan foydalanishingiz mumkin.

voila! bu erda farqlar! menga juda chiroyli ko'rinadi!

2. Uchinchi operatorlardan har doim ham emas, kerak bo'lganda foydalaning.

Uchinchi darajali operatorlarni ishlatish, agar u ol yoki good operatorlarini ishlatadigan boshqa dasturlarga qaraganda ancha sovuqroq ko'rinishi mumkin, ammo har bir sintaksisning o'z maqsadi bor. Ushbu misollarga qarang:

// ajoyib misol
const data = null;
const derpData = ma'lumotlar? 'Im not null': 'Salom, men null';
// boshqa misol
const anotherData = null;
const anotherDerpData = ma'lumotlar? boshqaData? 'anotherData va Data null emas': 'anotherData null, ammo ma'lumotlar mavjud emas': 'Salom, ma'lumotlar null';
// oh sh * t buni o'qib bo'ladimi?

Ehtimol siz xayoliy IDE yoki xayoliy linerdan foydalanyapsiz, lekin hamma ham bunday qilishga yoki foydalanishga vaqtlari yo'q, shuning uchun bu holda sizga mos keladigan boshqa variantlardan foydalaning. Xuddi ajoyib bolalar aytganidek: to'g'ri joyda to'g'ri odam.

3. Bog'lanishni blokirovka qiling, buzilishlarning oldini oling.

Ko'proq qaramlikni oshirganingizda, versiyani blokirovka qilishni unutmang. Iltimos, o'zgaruvchan o'zgarishlardan ehtiyot bo'ling, JavaScript, ayniqsa javascript kutubxonasi juda tezkor bo'ladi.

buni amalga oshirish o'rnigabuni qiling

Sodda qilib aytganda, pack.json-ning ildiz loyihasidagi ^ belgi-ni o'chirib tashlang.

4. Node_modules ichida emas, balki loyiha darajasini yoki ilova darajasini yaratish.gradle-ni o'zgartiring.

Ushbu ko'rsatma android tomoni uchun maxsusdir, bu google-ning o't o'chirish plaginlarini 11,8 dan 12,0 gacha yangilaganidan keyin boshimga o'tdi, ko'pchilik mahalliy qaramlik so'nggi olov bazasi / gms qaramligini ishlatmoqda:

plyus so'nggi degan ma'noni anglatadi (reaktsiya-ona-fcm)

Ha, eng yaxshisi, lekin har doim ham yaxshi emas. Ehtimol, siz ushbu qonash xususiyatlarini va tezkor harakatlanuvchi botning o'zi, bu kodning o'zi borligini kutmoqdasiz (yo'q, biz juda uzoqqa ketyapmiz), buning o'rniga biz bu erda va o'sha erda xato qilamiz. Xo'sh, qanday echim bor?

Siz kodni node_modules ichida ishlashidan oldin + belgisini o'zgartirishingiz mumkin va ushbu o'zgarishlarni sizning hamkasblaringiz yoki bo'lajak loyiha xizmatchilariga taqdim qilishi uchun o'z git omborini yaratishingiz mumkin.

YOKI

Siz o'zingizning ilova darajangizni build.gradle-ni o'zgartirishingiz mumkin

o'zgartirilgan android / app / build.gradle

va qaror darajasini build.gradle-ga yuklang

o'zgartirilgan android / build.gradle

To'g'ri, to'g'rimi? va siz ularni bitta repoga (loyihaning o'zi) o'tkazishingiz mumkin va bundan keyin hamma baxtli yashaydi.

5. PureComponent-dan foydalanishingiz mumkin, oddiygina Funktsional komponentlar o'rniga oddiy Funktsional komponentlar.

Eski reaktsiya / reaktsiyaning mahalliy versiyalari uchun oddiy funktsional komponent bilan fuqaroligi bo'lmagan komponentni yozish yaxshiroq va tezroq bo'lishi mumkin

const Header = () => (
Bu sarlavha
);

Afsona, tarkibiy qismlarni yorug'lik tezligidan tezroq yaratadi, ammo bu afsonani buzish uchun haqiqat:

Bu tezkor hujjatlardan olingan PureComponentning tezroq namunasi, yaxshi ishlashi uchun o'rnatilgan mustComponentUpdate () -dan foydalanishingiz mumkin:

Bo'ldi shu! O'qiganingiz uchun rahmat! iltimos agar bolalar sizga yoqsa clap clap

Tahrirlash: batafsil 1-misol qo'shish