ios - - تم إهمال[RCTRootView deleteTouches] وسيتم حذفه قريبًا في الخريطة الأصلية للرد




react-native (2)

أنا أستخدم خريطة رد الفعل الأصلي وهي تعمل جيدًا على أنظمة ios و android.

رد فعل بلدي الأصلي هو 0.61.2. ولكن في نظام ios ، عندما أقوم بالنقر فوق الخريطة ، يظهر التحذير "- [تم إلغاء [RCTRootView CancelTouches]` وسيتم حذفه قريبًا. ".

ما هذا وكيفية إزالة هذا التحذير؟


إجابة محمد صحيحة في الغالب ، ولكن من أجل إيقاف الأعطال ، تحتاج أيضًا إلى التفاف التطبيق في React Native Gesture Handler HOC كما يلي:

index.js

import 'react-native-gesture-handler'
import { gestureHandlerRootHOC } from 'react-native-gesture-handler';

index.js

AppRegistry.registerComponent(appName, () => gestureHandlerRootHOC(App));

ملاحظة يجب أن يكون لديك هذه الواردات كأول عمليات الاستيراد من أجل الإصلاح للعمل.

هذا صحيح بالنسبة لـ React Native 61.2 ومتعامل الإيماءات الأصلي 1.4.1

ملاحظة: تقترح مستندات YellowBox Native الرسمية استخدام وحدة YellowBox لتجاهل التحذيرات. فمثلا:

import {YellowBox} from 'react-native';

YellowBox.ignoreWarnings(['`-[RCTRootView cancelTouches]`']);

نرى هذا الالتزام الذي هو الآن في رد فعل الأصلي 0.61+

على الرغم من أنه قد تم إهماله ، إلا أنه وفقًا للمحادثة في طلب السحب هذا ، فإنه سيتم إضافته مرة أخرى إلى قلب رد الفعل الأصلي.

يمكنك استبعاده حتى يقوم فريق رد الفعل الأصلي بإزالة التحذير:

console.ignoredYellowBox = ['Warning: `-[RCTRootView cancelTouches]`'];

أو يمكنك الرجوع إلى إصدار رد الفعل الأصلي على إصدار أقل من 0.61.

لا تزال بعض المكتبات ، مثل react-native-gesture-handler الإيماءات التفاعلية ، تستدعي طريقة CancelTouches. ولهذا السبب ترى هذا التحذير.

كنت أستخدم معالج الإيماءات الأصلي الذي أعطى هذا التحذير على وضع التصحيح وتسبب في حدوث تصادمات في عمليات إنشاء الإصدار على كل من android و ios. تم إصلاح الأعطال عن طريق إضافة import 'react-native-gesture-handler' على المستوى الأعلى من index.js.





react-native