React-native: تمت محاولة الانتقال من الحالة "RESPONDER_INACTIVE_PRESS_IN" إلى "RESPONDER_ACTIVE_LONG_PRESS_IN" ، وهي حالة غير مدعومة.

تم إنشاؤها على ٨ فبراير ٢٠١٦  ·  162تعليقات  ·  مصدر: facebook/react-native

على غرار # 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

Locked

التعليق الأكثر فائدة

ثابت بعد إضافة العرض

<TouchableNativeFeedback>
     <View> // <= here
         <Text style={css.item}>{rowData.title + rowData.id}</Text>
     </View>
</TouchableNativeFeedback>

ال 162 كومينتر

مرحبًا Dyscrete ، شكرًا للإبلاغ عن هذه المشكلة!

React Native ، كما سمعت على الأرجح ، تزداد شعبية حقًا والحقيقة هي أننا نشعر بالإرهاق قليلاً من النشاط المحيط بها. هناك الكثير من المشكلات التي يتعين علينا التعامل معها بشكل صحيح.

  • إذا كنت لا تعرف كيفية القيام بشيء ما أو أن شيئًا ما لا يعمل كما تتوقع ولكنك غير متأكد من أنه خطأ ، فالرجاء طرح سؤال على StackOverflow بالعلامة react-native أو لمزيد من التفاعلات في الوقت الفعلي ، اسأل على Discord في # قناة رد فعل أصلية.
  • إذا كان هذا طلب ميزة أو خطأ ترغب في إصلاحه ، فيرجى الإبلاغ عنه في " مشاكل المنتج" . يحتوي على ميزة التصنيف التي تتيح لنا التركيز على أهم المشكلات التي يواجهها المجتمع.
  • نرحب بالقضايا الواضحة والعلاقات العامة الجاهزة للمناقشة المتعمقة. يُرجى تقديم لقطات شاشة عند الاقتضاء وذكر دائمًا إصدار React Native الذي تستخدمه. شكرا لمساهماتكم!

أحصل على نفس الخطأ عند الاختبار على 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

  • 1 نفس المشكلة

نفس الشيء هنا ، 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 يحدث عندما أقوم بتبديل الملاح

+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

يحدث هذا فقط مع تصحيح الأخطاء عن بُعد وقد أصلحت هذا مؤقتًا عن طريق القيام بما يلي:

  1. افتح إعدادات Android
  2. تطبيقات
  3. انقر فوق التطبيق الخاص بك
  4. تخزين
  5. مسح ذاكرة التخزين المؤقت

ملاحظة: هذا بالفعل حل مؤقت . لا يزال ينبثق بشكل متكرر بين الحين والآخر.

Jarrio شكرا

lukemiles الأفكار؟

+1

+1

+1

يعمل حل tmpJarrio في الوقت الحالي

+1

+1

+1

rn 48 +1 ،

+1

آر إن 48 + 1

حدثت المشكلة فقط إذا تم تمكين تصحيح أخطاء js عن بُعد ... مع الوضع العادي ، تعمل بشكل جيد.

rn 49.3+ 1

+1

+1

+1

image+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. تأكد من حصول الهاتف والكمبيوتر الشخصي على نفس المنطقة الزمنية
  2. تحديث الوقت يدويًا على جهاز الكمبيوتر: التاريخ والوقت -> علامة التبويب وقت الإنترنت -> تغيير الإعدادات -> وقت التحديث
  3. قم بتبديل التحديث التلقائي للوقت في إعدادات Android ، ثم قم بإيقاف تشغيله
  4. أعد تشغيل التطبيق

+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 هنا . باختصار ، تحقق من الساعة على أجهزتك.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات