React-native: Mencoba bertransisi dari status `RESPONDER_INACTIVE_PRESS_IN` ke `RESPONDER_ACTIVE_LONG_PRESS_IN`, yang tidak didukung.

Dibuat pada 8 Feb 2016  ·  162Komentar  ·  Sumber: facebook/react-native

Mirip dengan #1693. Tampaknya ada masalah dengan komponen Touchable dengan Chrome Debugging di 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

Kode yang menghasilkan kesalahan ini berasal dari aplikasi yang baru dimulai menggunakan komponen 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>
    );
  }
}

PS Apakah ada cara yang lebih baik untuk menyalin stacktrace? Saya hanya menyalin dari konsol alat pengembang Chrome

Locked

Komentar yang paling membantu

Diperbaiki setelah menambahkan Tampilan

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

Semua 162 komentar

Hai Diskrit, terima kasih telah melaporkan masalah ini!

React Native, seperti yang mungkin pernah Anda dengar, menjadi sangat populer dan sebenarnya kami sedikit kewalahan dengan aktivitas di sekitarnya. Ada terlalu banyak masalah untuk kita kelola dengan baik.

  • Jika Anda tidak tahu bagaimana melakukan sesuatu atau sesuatu tidak berfungsi seperti yang Anda harapkan tetapi tidak yakin itu bug , silakan tanyakan di StackOverflow dengan tag react-native atau untuk interaksi waktu nyata lainnya, tanyakan di Discord di # saluran asli-reaksi.
  • Jika ini adalah permintaan fitur atau bug yang ingin Anda perbaiki, harap laporkan di Product Pains . Ini memiliki fitur peringkat yang memungkinkan kami fokus pada masalah terpenting yang dialami komunitas.
  • Kami menyambut isu-isu yang jelas dan PR yang siap untuk diskusi mendalam. Harap berikan tangkapan layar jika perlu dan selalu sebutkan versi React Native yang Anda gunakan. Terima kasih atas kontribusi Anda!

Saya mendapatkan kesalahan yang sama saat menguji pada iPhone6 ​​(9.1)

Apa bedanya masalah ini dengan #1693 ? Secara umum, masalahnya tampaknya sama. Bisakah kita menutupnya dan melanjutkan penyelidikan lebih lanjut di sana karena memiliki lebih banyak detail?

+1
Saya juga mendapatkan masalah ini, dan itu terjadi sering beralih navigator

Akan menutupnya karena @askday juga menempatkan repro yang lebih baik di # 1693. Silakan buka kembali jika OP menyebutkan sesuatu yang berbeda.

Kesalahan yang sama untuk saya.
Bereaksi 0.31
debug Chrome.
Pemakaian normal tidak ada masalah.

console.error: "Mencoba transisi dari status RESPONDER_INACTIVE_PRESS_IN ke RESPONDER_ACTIVE_LONG_PRESS_IN , yang tidak didukung. Ini kemungkinan besar karena Touchable.longPressDelayTimeout tidak dibatalkan."

Object.console.error
YellowBox.js:60
Constructor._handleLongDelay
Touchable.js:595
JSTimersExecution.callbacks.(anonim
index.ios.bundle?platform=ios&dev=true&minify= false:8476 :13
Object.callTimer
JSTimersExecution.js:84

JSTimersExecution.js:119
Object.callTimer
JSTimersExecution.js:119
MessageQueue.__callFunction
MessageQueue.js:204

MessageQueue.js:95

+1

+1

+1

+1

:+1:

👍

+1

+1

+1

+1

+1

+1

+1

+1

+1

Saya juga mengalami kesalahan ini, tetapi hanya di Android. IOS bekerja seperti yang diharapkan.

+1

+1

+1

+1

+1

+1

+1

+1 kesalahan yang sama hanya di Android tetapi iOS berfungsi dengan baik.

+1 sama dengan @binzailani3136

+1

Selamat atas bug ini terpilih sebagai salah satu masalah paling terkenal dari RN0.39

+1

+1

+1

+1

+1

+1

+1

+1

Teman-teman, +1 Anda tidak membantu, dan ini ada di #1693

+1

+1

+1

+1

+1

+1

Seperti yang saya lihat banyak orang sepertinya selalu memiliki masalah ini, dan yang ini sudah ditutup, jadi saya membuat yang baru di sini: #11989

+1

+1

@magrinj , mengapa masalah ini ditutup ketika begitu banyak, termasuk saya baru saja di RN 0.37, terus mendapatkan kesalahan ini? Apakah ada perbaikan sementara dari sisi aplikasi?

@fungilation Mungkin saya melakukan kesalahan dengan membuka tiket baru, karena yang ini terbuka dan membicarakan masalah yang sama: #1693

Diperbaiki setelah menambahkan Tampilan

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

@Yadro , maksud Anda memasukkan View tambahan memperbaiki ini dari sisi aplikasi, atau RN dapat memperbaikinya secara internal dengan melakukannya?

hm, bahasa Inggris saya buruk, tetapi memasukkan View tambahan menyelesaikan masalah ini

Baik. Saya akan melaporkan kembali jika saya masih mengalami masalah ini dengan Tampilan tambahan

+1

Saya hanya mendapatkan ini ketika saya dalam debugging jarak jauh. Ini tidak terjadi secara normal. RN .41.2. Windows 10. Android

+1

@ckwong90 , beberapa di sini, hanya muncul saat debugging jarak jauh
RN .41.2. macOS Sierra 10.12.3

  • 1 masalah yang sama

Sama di sini, Android 6.0, RN terbaru, debugging jarak jauh

+1

+1

+1

Saya mengalami masalah ini dengan react-native-button dan model debug di Chrome

Saya memecahkan masalah dengan membungkus komponen Button dengan View.

+1

Saya sudah membungkus komponen dalam Tampilan, tetapi mendapatkan kesalahan ini. Setelah itu TouchableHighlight apa pun di Aplikasi saya menimbulkan kesalahan ini. Memecahkannya (sementara?) Dengan menghapus data aplikasi di pengaturan. Masalah terjadi di Android, Emulator, Win10, RN 0.42.3 dengan "Debug JS Jarak Jauh" tanpa "Hot Reload".

sama disini

+1

  • 1

+1 terjadi ketika saya mengganti navigator

+1

Punya kesalahan yang sama. Membangun kembali aplikasi dari XCode menyelesaikannya untuk saya.

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

Ada kemajuan dalam hal ini?

Masalah ini terjadi ketika saya men-debug dari jarak jauh.

siapa pun?!

setelah berkembang selama 3 minggu tiba-tiba masalah ini muncul ketika saya menggunakan komponen Fab nativebase. Saya harap F8 dapat memperbaiki masalah ini

Punya masalah yang sama,

+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

Hal yang sama

+1

+1

+1

+1

+1 .... kesalahan ini muncul begitu saja setelah saya mulai menggunakan fetch...

masalah yang sama tampilan tambahan tidak berfungsi

+1

+1

hitung++

+1

BERHENTI dengan spam +1. Berikan saja postingan asli atau komentar mana pun yang jempol 👍🏼 jika Anda melihat hal yang sama.

@fungilation 👍

+1

Ini hanya terjadi dengan debugging jarak jauh dan saya memperbaikinya sementara dengan melakukan hal berikut:

  1. Buka Pengaturan Android
  2. Aplikasi
  3. Klik Aplikasi Anda
  4. Penyimpanan
  5. Hapus Cache

Catatan: Ini benar-benar solusi sementara . Itu masih berulang kali muncul sesekali.

@Jarrio Terima kasih

pikiran @lukemiles ?

+1

+1

+1

Solusi tmp

+1

+1

+1

rn48+1,

+1

rn48 + 1

Masalah terjadi hanya jika debug js jarak jauh diaktifkan... dengan mode normal berfungsi dengan baik.

rn 49.3+ 1

+1

+1

+1

image+1

Saya mengubah TouchableHighlight menjadi TouchableOpacity , itu tidak terjadi

RN.50 +1

@Jarrio masih langsung melempar kesalahan di android

+1 0,47

+1

HARAP BERHENTI +1 !!!

uh ... ditambah 1, lalu

+1

+1

+1 untuk 0.48.3

+1 pada 0,51.0

+1 bagus, suka. Terjadi 0,50

+1

+1

+1

dengan reaksi-asli 0.51.0

Saya 'memperbaiki' ini dengan mengatur waktu perangkat secara manual di Android. Pastikan waktu baru akan sama dengan waktu komputer Anda (bertujuan untuk perubahan menit berikutnya), konfirmasikan perubahan waktu pada detik yang sama waktu komputer Anda akan berubah ke menit berikutnya.

+1

+1

+1

+1

+1

+1

Solusi bagi saya adalah

  1. Pastikan ponsel dan pc memiliki zona waktu yang sama
  2. Perbarui waktu secara manual di pc: Tanggal dan Waktu -> tab Waktu Internet -> Ubah Pengaturan -> Perbarui Waktu
  3. Aktifkan pembaruan waktu otomatis di pengaturan Android, lalu matikan
  4. Mulai ulang aplikasi

+1

Di LibrariesComponentsTouchableTouchableHighlight.js ganti

touchableGetLongPressDelayMS: function() {
kembalikan this.props.delayLongPress;
},

dengan

touchableGetLongPressDelayMS: function() {
kembali this.props.delayLongPress === 0 ? 0 :
this.props.delayLongPress || 500;
},

Itu menyelesaikan masalah bagi saya.

+1

+1

Saya memiliki masalah yang sama di Android ketika
a) ponsel saya terhubung ke PC saya melalui USB
b) Saya menggunakan debugging jarak jauh melalui jaringan

Memutuskan sambungan USB menyelesaikan masalah. Tidak tahu apakah ada hubungan kausal, meskipun.

Sunting: Setelah mendapatkan masalah tambahan dengan batas waktu async, saya memeriksa waktu saat ini di PC dan perangkat Android melalui

adb shell date && date .

Ada perbedaan 5 detik. Orang mungkin tergoda untuk menebak bahwa ada inkonsistensi dalam cara RN menangani waktu saat ini saat melakukan debug dari jarak jauh.
Melalui

curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g'

Saya menemukan pelakunya dalam kasus saya: waktu sistem perangkat Android saya mati 5 detik. Mem-boot ulang perangkat Android memperbaiki perbedaan.

Saya baru saja memverifikasi waktu dari perangkat Android dan Mac saya dengan : adb shell date && date . Itu berbeda lebih dari 2 menit. Kemudian saya mengaktifkan pengaturan waktu otomatis di perangkat Android saya dan menjalankan perintah yang sama lagi dan voila waktu disinkronkan, tetapi zona waktu tidak sama meskipun pada keduanya (perangkat Android dan Mac) pengaturan zona waktu otomatis. Jadi saya menonaktifkan pengaturan zona waktu otomatis pada perangkat Android saya dan mengaturnya secara manual ke yang sesuai dan kesalahannya hilang.

+1

+1

pengaturan waktu otomatis pada perangkat android dan pengaturan waktu otomatis pada komputer memecahkan masalah

di Ubuntu saya menyinkronkan waktu sistem dengan waktu ADB saat ini dengan melakukan:

sudo date +%T -s `adb shell date +%T`

+1

+1

Mengunci karena komentar +1 berulang. Sebuah solusi telah diposting sejak lama oleh @Larry-Liu2016 di sini . Singkatnya, periksa jam di perangkat Anda.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat