هذا عبارة عن مجموعة من الغلاية في تطبيق Create-React-Deact مع Redux & Local Auth & React Mavigation مدمجة.
create-react-native-app-redux-auth يولد جميع الملفات التأسيسية لتطبيق React Native جديد مع توصيل Redux (لإدارة الدولة) بالإضافة إلى التنقل التفاعلي والمصادقة المحلية تمامًا!
يمكنك العمل مع جميع المكونات وواجهة برمجة التطبيقات في React Native ، وكذلك معظم واجهات برمجة تطبيقات JavaScript التي يوفرها تطبيق Expo.
create-react-native-app-redux-auth !يمكن العثور على برنامج تعليمي مكتوب كامل هنا.
تم تمهيد هذا المشروع مع إنشاء تطبيق React Native و FSG.



تأكد من أن لديك Node V6 أو مثبت لاحقًا ، بالإضافة إلى الإصدار الحالي من Expo Client 2.5.0 على جهازك المحمول لدعم React Native 0.55. لا يلزم تثبيت Xcode أو Android Studio.
$ npm install -g create-react-native-app-redux-auth يمكن استخدام أداة create-react-native-app-redux-auth في خطوط مختلفة.
$ create-react-native-app-redux-auth ببساطة تشغيل create-react-native-app-redux-auth في دليل ينشئ جهازًا فرعيًا generated يحتوي على ملفات التطبيق الجديدة.
بدلاً من ذلك ، يمكن create-react-native-app-redux-auth مسار ملف (نسبيًا أو مطلقًا ، وحتى غير موجود بعد) ، وسيستخدم/إنشاء مجلد الوجهة وملء ملفات التطبيق الجديدة.
$ create-react-native-app-redux-auth path/to/any/directory/you/prefer إذا كنت قد صنعت بالفعل و cd 'D في دليل ، وترغب في ملء ملفات التطبيق الجديدة ، ما عليك سوى استخدام . طريق.
$ create-react-native-app-redux-auth . # caution, this will put the new files in your current folder! بعد إنشاء الملفات ، تأكد من تشغيل الأوامر التالية في جذر المشروع ( generated/ ما لم تستخدم وسيطة المسار كما هو موضح أعلاه):
$ npm installللبدء السريع ، فقط قم بتغيير شيئين :
package.json ، قم بتغيير "الاسم" إلى اسم تطبيقك.IP.js ، قم بتغيير عنوان IP إلى عنوان IP الكامل للواجهة الخلفية ، سواء كان ذلك على localhost:PORT أو في مكان ما تم نشره ، مثل Heroku.لتمكين المصادقة المحلية المدمجة ، يفترض المشروع الذي تم إنشاؤه قاعدة بيانات قيد التشغيل. يجب عليك تكوين الخادم الخاص بك لمكالمات Axios Redux:
${IP}/auth/login مع الحمولة النافعة {البريد الإلكتروني: البريد الإلكتروني ، كلمة المرور: كلمة المرور}.${IP}/auth/signup مع Payload {البريد الإلكتروني: البريد الإلكتروني ، كلمة المرور: كلمة المرور}.${IP}/auth/logout بدون حمولة. $ npm startشكرا للعب! Hadoken. ؟
ستجد أدناه معلومات حول تنفيذ المهام الشائعة. أحدث إصدار من هذا الدليل متاح هنا.
يجب أن تحتاج فقط إلى تحديث التثبيت العالمي لتشغيل create-react-native-app نادرًا للغاية ، من الناحية المثالية أبدًا.
يجب أن يكون تحديث تبعية react-native-scripts للتطبيق أمرًا بسيطًا مثل تصفيف رقم الإصدار في package.json وإعادة تثبيت تبعيات مشروعك.
يتطلب الترقية إلى إصدار جديد من React Native تحديث إصدارات حزمة react-native و react و expo ، وتعيين sdkVersion الصحيح في app.json . راجع دليل الإصدار للحصول على معلومات محدثة حول توافق إصدار الحزمة.
إذا تم تثبيت الغزل عند تهيئة المشروع ، فسيتم تثبيت التبعيات عبر الغزل ، وربما يجب أن تستخدمه لتشغيل هذه الأوامر أيضًا. على عكس تثبيت التبعية ، فإن بناء جملة التشغيل متطابق مع الغزل و NPM في وقت كتابة هذا التقرير.
npm startيدير تطبيقك في وضع التطوير.
افتحه في تطبيق Expo على هاتفك لعرضه. سيتم إعادة تحميل إذا قمت بحفظ التعديلات على ملفاتك ، وسوف ترى أخطاء وسجلات في المحطة.
في بعض الأحيان قد تحتاج إلى إعادة تعيين أو مسح ذاكرة التخزين المؤقت لـ React Native Packager. للقيام بذلك ، يمكنك تمرير علامة- --reset-cache إلى البرنامج النصي START:
npm start --reset-cache
# or
yarn start --reset-cache
npm testيدير عداء اختبار Jest على اختباراتك.
npm run ios مثل npm start ، ولكن يحاول أيضًا فتح تطبيقك في محاكاة iOS إذا كنت على جهاز Mac وتم تثبيته.
npm run android مثل npm start ، ولكن يحاول أيضًا فتح تطبيقك على جهاز Android أو المحاكي المتصل. يتطلب تثبيت أدوات بناء Android (انظر React Docs الأصلي لإعداد مفصل). نوصي أيضًا بتثبيت Genymotion كمحاكي Android الخاص بك. بمجرد الانتهاء من إعداد بيئة البناء الأصلية ، هناك خياران لإتاحة النسخة الصحيحة من adb لإنشاء تطبيق React الأصلي:
adb من Android StudioSettings -> ADB . حدد "استخدام أدوات SDK المخصصة Android" وتحديثها باستخدام دليل Android SDK. adb Genymotion/Applications/Genymotion.app/Contents/MacOS/tools/ genymotion.app/contents/macos/tools/.npm run ejectسيؤدي ذلك إلى بدء عملية "القذف" من إنشاء البرامج النصية لإنشاء APP الخاصة بـ React Native. ستُطرح بعض الأسئلة حول كيفية بناء مشروعك.
تحذير: تشغيل الإخراج هو إجراء دائم (بصرف النظر عن أي نظام التحكم في الإصدار الذي تستخدمه). سيتطلب منك تطبيق مخرج إعداد بيئة استوديو Xcode و/أو Android.
يمكنك تحرير app.json لتضمين مفاتيح التكوين ضمن مفتاح expo .
لتغيير اسم عرض التطبيق الخاص بك ، قم بتعيين مفتاح expo.name في app.json إلى سلسلة مناسبة.
لتعيين أيقونة التطبيق ، قم بتعيين مفتاح expo.icon في app.json ليكون إما مسارًا محليًا أو عنوان URL. يوصى باستخدام ملف PNG 512x512 مع شفافية.
تم إعداد هذا المشروع لاستخدام Jest للاختبارات. يمكنك تكوين أي استراتيجية اختبار تريدها ، ولكن Jest يعمل خارج المربع. قم بإنشاء ملفات اختبار في الدلائل التي تسمى __tests__ أو مع امتداد .test لتحميل الملفات بواسطة Jest. انظر مشروع القالب لاختبار مثال. تعتبر وثائق Jest أيضًا موردًا رائعًا ، وكذلك برنامج React Native Testing Tutorial.
يمكنك تكوين بعض من Create React Native App باستخدام متغيرات البيئة.
عند بدء مشروعك ، سترى شيئًا كهذا لعنوان URL لمشروعك:
exp://192.168.0.2:19000
يخبر "البيان" في عنوان URL تطبيق Expo كيفية استرداد وتحميل حزمة JavaScript الخاصة بالتطبيق الخاص بك ، لذلك حتى إذا قمت بتحميله في التطبيق عبر عنوان URL مثل exp://localhost:19000 ، سيظل تطبيق عميل Expo يحاول استرداد تطبيقك على عنوان IP الذي يوفره البرنامج النصي Start.
في بعض الحالات ، هذا أقل من المثالي. قد يكون هذا هو الحال إذا كنت بحاجة إلى تشغيل مشروعك داخل جهاز افتراضي وعليك الوصول إلى الحزمة عبر عنوان IP مختلف عن العنوان الذي يطبع افتراضيًا. من أجل تجاوز عنوان IP أو اسم المضيف الذي تم اكتشافه عن طريق إنشاء تطبيق React Native ، يمكنك تحديد اسم المضيف الخاص بك عبر متغير بيئة REACT_NATIVE_PACKAGER_HOSTNAME :
Mac و Linux:
REACT_NATIVE_PACKAGER_HOSTNAME='my-custom-ip-address-or-hostname' npm start
Windows:
set REACT_NATIVE_PACKAGER_HOSTNAME='my-custom-ip-address-or-hostname'
npm start
المثال أعلاه من شأنه أن يتسبب في الاستماع إلى خادم التطوير على exp://my-custom-ip-address-or-hostname:19000 .
يقوم Create React Native App بعمل الكثير من العمل لجعل إعداد التطبيق بسيطًا ومباشرًا ، ولكن من الصعب جدًا القيام بنفس الشيء للنشر في متجر تطبيقات Apple أو متجر Play من Google دون الاعتماد على خدمة مستضافة.
يوفر Expo استضافة مجانية لتطبيقات JS فقط التي أنشأتها CRNA ، مما يتيح لك مشاركة تطبيقك من خلال تطبيق عميل Expo. هذا يتطلب التسجيل لحساب المعرض.
قم بتثبيت أداة سطر الأوامر exp ، وقم بتشغيل أمر النشر:
$ npm i -g exp
$ exp publish
يمكنك أيضًا استخدام خدمة مثل بنيات Expo المستقلة إذا كنت ترغب في الحصول على IPA/APK للتوزيع دون الحاجة إلى بناء الكود الأصلي بنفسك.
إذا كنت ترغب في إنشاء تطبيقك ونشره بنفسك ، فستحتاج إلى الإخراج من CRNA واستخدام Xcode و Android Studio.
عادة ما يكون هذا بسيطًا مثل تشغيل npm run eject في مشروعك ، والذي سيمشي بك خلال العملية. تأكد من تثبيت react-native-cli واتبع دليل البدء في الرمز الأصلي لـ React Native.
إذا كنت قد استخدمت واجهات برمجة تطبيقات Expo أثناء العمل في مشروعك ، فستتوقف مكالمات API هذه عن العمل إذا تم إخراجها من مشروع React Native. إذا كنت ترغب في متابعة استخدام واجهات برمجة التطبيقات هذه ، فيمكنك إخراج "React Native + Expokit" والتي ستتيح لك إنشاء الكود الأصلي الخاص بك ومتابعة استخدام واجهات برمجة التطبيقات المعرض. راجع دليل الإخراج لمزيد من التفاصيل حول هذا الخيار.
إذا كنت غير قادر على تحميل التطبيق الخاص بك على هاتفك بسبب مهلة الشبكة أو اتصال رفض ، فإن الخطوة الأولى الجيدة هي التحقق من أن هاتفك وجهاز الكمبيوتر الخاص بك على نفس الشبكة ويمكنهما الوصول إلى بعضهما البعض. يحتاج إنشاء التطبيق الأصلي React إلى الوصول إلى المنافذ 19000 و 19001 ، لذا تأكد من أن إعدادات شبكتك وجدار الحماية تسمح بالوصول من جهازك إلى جهاز الكمبيوتر الخاص بك على كلا المنافذ.
حاول فتح متصفح ويب على هاتفك وفتح عنوان URL الذي يطبع البرنامج النصي Packager ، لاستبدال exp:// باستخدام http:// . لذلك ، على سبيل المثال ، إذا كان تحت رمز الاستجابة السريعة في المحطة الخاصة بك ، ترى:
exp://192.168.0.1:19000
حاول فتح Safari أو Chrome على هاتفك وتحميلها
http://192.168.0.1:19000
و
http://192.168.0.1:19001
إذا نجح هذا ، لكنك لا تزال غير قادر على تحميل التطبيق الخاص بك عن طريق مسح رمز الاستجابة السريعة ، فيرجى فتح مشكلة على مستودع Create React Native App مع تفاصيل حول هذه الخطوات وأي رسائل خطأ أخرى قد تتلقاها.
إذا لم تكن قادرًا على تحميل عنوان URL http في متصفح الويب الخاص بهاتفك ، فحاول استخدام ميزة نقطة الاتصال/الجوال على هاتفك (احذر من استخدام البيانات ، على الرغم من ذلك) ، وتوصيل جهاز الكمبيوتر الخاص بك بشبكة WiFi هذه ، وإعادة تشغيل الحزمة. إذا كنت تستخدم VPN ، فقد تحتاج إلى تعطيله.
إذا كنت على جهاز Mac ، فهناك بعض الأخطاء التي يرى المستخدمون أحيانًا عند محاولة npm run ios :
هناك بعض الخطوات التي قد ترغب في اتخاذها لاستكشاف هذه الأنواع من الأخطاء:
Command Line Tools على شيء ما. في بعض الأحيان عندما يتم تثبيت أدوات CLI لأول مرة عن طريق homebrew ، يتم ترك هذا الخيار فارغًا ، مما قد يمنع أدوات Apple من العثور على المحاكاة. تأكد من إعادة تشغيل npm/yarn run ios بعد القيام بذلك.Reset Contents and Settings... بعد الانتهاء من ذلك ، استقال من المحاكاة ، وإعادة تشغيل npm/yarn run ios .إذا لم تكن قادرًا على مسح رمز الاستجابة السريعة ، فتأكد من أن كاميرا هاتفك تركز بشكل صحيح ، وتأكد أيضًا من أن التباين على اللونين في المحطة الخاصة بك مرتفع بما فيه الكفاية. على سبيل المثال ، قد لا يكون للسمات الافتراضية الخاصة بـ WebStorm تباين كافي لرموز QR الطرفية لتكون قابلة للاستعادة مع ماسحات الباركود الباركود التي يستخدمها تطبيق المعرض.
إذا تسبب هذا في مشاكل لك ، فقد ترغب في محاولة تغيير موضوع لون المحطة الخاصة بك لمزيد من التباين ، أو تشغيل إنشاء تطبيق React الأصلي من محطة مختلفة. يمكنك أيضًا إدخال عنوان URL المطبوع يدويًا بواسطة البرنامج النصي Packager في شريط البحث في تطبيق Expo لتحميله يدويًا.