على غرار # 1693. يبدو أنها مشكلة في المكون Touchable
مع تصحيح أخطاء Chrome على React Native 0.19.0.
Attempted to transition from state `RESPONDER_INACTIVE_PRESS_IN` to `RESPONDER_ACTIVE_LONG_PRESS_IN`, which is not supported.
This is most likely due to `Touchable.longPressDelayTimeout` not being cancelled.
stack:
reactConsoleError @ ExceptionsManager.js:76
console.error @ YellowBox.js:49
TouchableMixin._handleLongDelay @ Touchable.js:575
JSTimersExecution.callbacks.(anonymous function) @ JSTimers.js:47
JSTimersExecution.callTimer @ JSTimersExecution.js:69
JSTimersExecution.callTimers @ JSTimersExecution.js:92
__callFunction @ MessageQueue.js:183
(anonymous function) @ MessageQueue.js:87
guard @ MessageQueue.js:41
callFunctionReturnFlushedQueue @ MessageQueue.js:86
onmessage @ debuggerWorker.js:39
الكود الذي ينتج عنه هذا الخطأ هو من تطبيق بدأ حديثًا باستخدام مكون TouchHighlight:
class App extends Component {
constructor() {
super()
this.state = {
testText: ''+Math.random()
}
}
_updateTouch(e) {
this.setState({testText: ''+Math.random()})
}
render() {
return (
<View style={styles.container}>
<Text>
{this.state.testText}
</Text>
<TouchableHighlight onPress={this._updateTouch.bind(this)}>
<Image
style={width: 100, height: 100}
source={{uri: 'http://facebook.github.io/react/img/logo_og.png'}}
/>
</TouchableHighlight>
</View>
);
}
}
ملاحظة: هل هناك طريقة أفضل لنسخ Stacktrace؟ أنا فقط أقوم بالنسخ من وحدة تحكم أدوات تطوير Chrome
مرحبًا Dyscrete ، شكرًا للإبلاغ عن هذه المشكلة!
React Native ، كما سمعت على الأرجح ، تزداد شعبية حقًا والحقيقة هي أننا نشعر بالإرهاق قليلاً من النشاط المحيط بها. هناك الكثير من المشكلات التي يتعين علينا التعامل معها بشكل صحيح.
react-native
أو لمزيد من التفاعلات في الوقت الفعلي ، اسأل على Discord في # قناة رد فعل أصلية.أحصل على نفس الخطأ عند الاختبار على iPhone6 (9.1)
كيف تختلف هذه المشكلة عن # 1693؟ بشكل عام ، يبدو أن المشكلة هي نفسها. هل يمكننا إغلاقها ومواصلة التحقيق هناك لأنها تحتوي على مزيد من التفاصيل؟
+1
أحصل أيضًا على هذه المشكلة ، وقد حدث ذلك بشكل متكرر مع تبديل الملاح
سنقوم بإغلاقه حيث وضع
نفس الخطأ بالنسبة لي.
تفاعل 0.31
تصحيح أخطاء Chrome.
في الاستخدام العادي لا توجد مشكلة.
خطأ وحدة التحكم: "محاولة الانتقال من الحالة RESPONDER_INACTIVE_PRESS_IN
إلى RESPONDER_ACTIVE_LONG_PRESS_IN
، وهي غير مدعومة. هذا على الأرجح بسبب عدم إلغاء Touchable.longPressDelayTimeout
."
Object.console. Error
YellowBox.js: 60
منشئ ._ HandleLongDelay
ملموس. js: 595
JSTimersExecution.callbacks. (مجهول
index.ios.bundle؟ platform = ios & dev = true & minify = false: 8476 : 13
Object.callTimer
JSTimersExecution.js: 84
JSTimersExecution.js: 119
Object.callTimers
JSTimersExecution.js: 119
MessageQueue .__ وظيفة الاتصال
الرسالة: Queue.js: 204
MessageQueue.js: 95
+1
+1
+1
+1
: +1:
👍
+1
+1
+1
+1
+1
+1
+1
+1
+1
أواجه هذا الخطأ أيضًا ، ولكن على Android فقط. يعمل IOS كما هو متوقع.
+1
+1
+1
+1
+1
+1
+1
+1 نفس الخطأ فقط على Android ولكن iOS يعمل بشكل جيد.
+1 مثل @ binzailani3136
+1
تهانينا على هذا الخطأ الذي تم اختياره كواحد من أكثر المشكلات شهرة في RN0.39
+1
+1
+1
+1
+1
+1
+1
+1
رفاق ، إجراءات 1+ الخاصة بك ليست مفيدة ، وهذا رقم 1693
+1
+1
+1
+1
+1
+1
نظرًا لأنني أرى أن الكثير من الأشخاص لديهم دائمًا هذه المشكلة ، وقد تم إغلاق هذه المشكلة ، لذلك أقوم بإنشاء واحدة جديدة هنا: # 11989
+1
+1
magrinj ، لماذا تم إغلاق هذه المشكلة في حين أن الكثير ، بمن فيهم أنا الآن على RN 0.37 ، يستمرون في الوصول إلى هذا الخطأ؟ هل هناك حل مؤقت من جانب التطبيق؟
fungilation ربما أخطأت بفتح تذكرة جديدة ، لأن هذه البطاقة مفتوحة وتتحدث عن نفس المشكلة: # 1693
ثابت بعد إضافة العرض
<TouchableNativeFeedback>
<View> // <= here
<Text style={css.item}>{rowData.title + rowData.id}</Text>
</View>
</TouchableNativeFeedback>
Yadro ، هل تقصد أن إدراج عرض إضافي يصلح هذا من جانب التطبيق ، أم يمكن لـ RN إصلاحه داخليًا من خلال القيام بذلك؟
حسنًا ، لغتي الإنجليزية سيئة ، لكن إدراج عرض إضافي يحل هذه المشكلة
موافق. سأبلغ مرة أخرى إذا استمرت هذه المشكلة مع طرق عرض إضافية
+1
أحصل على هذا فقط عندما أكون في التصحيح عن بعد. هذا لا يحدث بشكل طبيعي. آر إن 41.2. نظام التشغيل Windows 10. Android
+1
@ ckwong90 ، بعضها هنا ، يظهر فقط عند التصحيح عن بعد
آر إن 41.2. macOS Sierra 10.12.3
نفس الشيء هنا ، Android 6.0 ، أحدث RN ، تصحيح الأخطاء عن بُعد
+1
+1
+1
واجهت هذه المشكلة مع react-native-button
ونموذج التصحيح في Chrome
لقد قمت بحل المشكلة عن طريق التفاف مكون الزر مع العرض.
+1
لقد قمت بالفعل بلف المكونات في طريقة عرض ، لكنني حصلت على هذا الخطأ. بعد ذلك ألقى أي TouchableHighlight في تطبيقي هذا الخطأ. حلها (مؤقت؟) عن طريق مسح بيانات التطبيق في الإعدادات. حدثت المشكلة في Android، Emulator، Win10، RN 0.42.3 مع "Debug JS عن بعد" بدون "Hot Reloading".
كذلك هنا
+1
+1 يحدث عندما أقوم بتبديل الملاح
+1
حصلت على نفس الخطأ. أدت إعادة إنشاء التطبيق من XCode إلى حله بالنسبة لي.
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
أي تقدم في هذا؟
تحدث هذه المشكلة عندما أقوم بتصحيح الأخطاء عن بُعد.
أي واحد؟!
بعد التطوير لمدة 3 أسابيع ، تظهر هذه المشكلة فجأة عند استخدام مكون Fab الأصلي. آمل أن يتمكن F8 من إصلاح هذه المشكلة
لديك نفس المشكلة ،
+1
+1
+1
+1
render() {
let {onNavigateToOfferScreen, navigation} = this.props;
let {dataSource} = this.state;
return (
<ListView style={styles.container} dataSource={dataSource} renderRow={offer => (
<TouchableHighlight onPress={() => onNavigateToOfferScreen(offer)}>
<View style={styles.row} elevation={2}>
<Text style={styles.businessName}>{offer.name}</Text>
</View>
</TouchableHighlight>
)}/>
);
}
+1
نفس الشيء
+1
+1
+1
+1
+1 .... يظهر هذا الخطأ بعد أن أبدأ في استخدام الجلب ...
نفس القضية عرض إضافي لا يعمل
+1
+1
العد ++
+1
توقف مع +1 غير المرغوب فيه. فقط أعط المنشور الأصلي أو أي تعليق إعجابًا إذا رأيت ذلك.
تضمين التغريدة
+1
يحدث هذا فقط مع تصحيح الأخطاء عن بُعد وقد أصلحت هذا مؤقتًا عن طريق القيام بما يلي:
ملاحظة: هذا بالفعل حل مؤقت . لا يزال ينبثق بشكل متكرر بين الحين والآخر.
Jarrio شكرا
lukemiles الأفكار؟
+1
+1
+1
يعمل حل tmpJarrio في الوقت الحالي
+1
+1
+1
rn 48 +1 ،
+1
آر إن 48 + 1
حدثت المشكلة فقط إذا تم تمكين تصحيح أخطاء js عن بُعد ... مع الوضع العادي ، تعمل بشكل جيد.
rn 49.3+ 1
+1
+1
+1
+1
لقد غيرت TouchableHighlight
إلى TouchableOpacity
، لم يحدث ذلك
رينجيت ماليزي +1
Jarrio لا يزال يلقي الخطأ على الفور على android
+1 0.47
+1
من فضلك توقف +1 !!!
اه ... زائد 1 ، إذن
+1
+1
+1 لـ 0.48.3
+1 على 0.51.0
+1 جميل ، أحبه. يحدث 0.50
+1
+1
+1
مع تفاعل أصلي 0.51.0
لقد أصلحت هذا عن طريق ضبط وقت الجهاز يدويًا في Android. تأكد من أن الوقت الجديد سيساوي الوقت الخاص بجهاز الكمبيوتر الخاص بك (استهدف التغيير في الدقيقة التالية) ، وتأكد من تغيير الوقت في نفس الثانية التي سيتغير فيها وقت الكمبيوتر إلى الدقيقة التالية.
+1
+1
+1
+1
+1
+1
كان الحل بالنسبة لي هو
+1
في LibrariesComponentsTouchableTouchableHighlight.js استبدل
touchableGetLongPressDelayMS: الوظيفة () {
إرجاع this.props.delayLongPress ؛
} ،
مع
touchableGetLongPressDelayMS: الوظيفة () {
إرجاع this.props.delayLongPress === 0؟ 0:
this.props.delayLongPress || 500 ؛
} ،
لقد حل المشكلة بالنسبة لي.
+1
+1
واجهت نفس المشكلة على Android عندما
أ) كان هاتفي المحمول متصلاً بجهاز الكمبيوتر الخاص بي عبر USB
ب) لقد استخدمت التصحيح عن بعد عبر الشبكة
أدى فصل USB إلى حل المشكلة. لا توجد فكرة عما إذا كانت هناك علاقة سببية.
تحرير: بعد الحصول على مشكلات إضافية مع المهلات غير المتزامنة ، تحققت من الوقت الحالي على جهاز الكمبيوتر وجهاز Android عبر
adb shell date && date
.
كان هناك اختلاف 5 ثوان. قد يميل المرء إلى تخمين أن هناك تناقضًا في كيفية تعامل RN مع الوقت الحالي عند تصحيح الأخطاء عن بُعد.
عبر
curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g'
لقد حددت الجاني في حالتي: تم إيقاف تشغيل وقت نظام جهاز Android الخاص بي بمقدار 5 ثوانٍ. أدت إعادة تشغيل جهاز Android إلى إصلاح هذا التناقض.
لقد تحققت للتو من الوقت من جهاز Android وجهاز Mac الخاص بي باستخدام: adb shell date && date
. كان الاختلاف بأكثر من دقيقتين. ثم قمت بتنشيط إعداد الوقت التلقائي على جهازي الذي يعمل بنظام Android وقمت بتشغيل نفس الأمر مرة أخرى وتم مزامنة الوقت ، لكن المنطقة الزمنية لم تكن هي نفسها على الرغم من أن إعداد المنطقة الزمنية على كل من (جهاز Android و Mac) كان تلقائيًا. لذلك قمت بإلغاء تنشيط إعداد المنطقة الزمنية التلقائية على جهاز Android الخاص بي وقمت بتعيينه يدويًا على المقابل واختفى الخطأ.
+1
+1
أدى ضبط الوقت التلقائي على جهاز Android وإعداد الوقت التلقائي على الكمبيوتر إلى حل المشكلة
على Ubuntu I ، مزامنة وقت النظام مع وقت ADB الحالي عن طريق القيام بما يلي:
sudo date +%T -s `adb shell date +%T`
+1
+1
القفل بسبب تعليقات +1 المتكررة. تم نشر حل منذ وقت طويل بواسطة @ Larry-Liu2016 هنا . باختصار ، تحقق من الساعة على أجهزتك.
التعليق الأكثر فائدة
ثابت بعد إضافة العرض