React-native: Se intentó realizar la transición del estado `RESPONDER_INACTIVE_PRESS_IN` a` RESPONDER_ACTIVE_LONG_PRESS_IN`, que no es compatible.

Creado en 8 feb. 2016  ·  162Comentarios  ·  Fuente: facebook/react-native

Similar al # 1693. Parece ser un problema con el componente Touchable con la depuración de Chrome en 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

El código que produce este error es de una aplicación recién iniciada que usa un componente 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>
    );
  }
}

PD: ¿Existe una forma mejor de copiar un stacktrace? Solo estoy copiando desde la consola de herramientas de desarrollo de Chrome

Locked

Comentario más útil

Corregido después de agregar Vista

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

Todos 162 comentarios

Hola Dyscrete, ¡gracias por informar de este problema!

React Native, como probablemente hayas escuchado, se está volviendo realmente popular y la verdad es que estamos un poco abrumados por la actividad que lo rodea. Hay demasiados problemas para que podamos gestionarlos correctamente.

  • Si no sabe cómo hacer algo o algo no funciona como espera, pero no está seguro de que sea un error , pregunte en StackOverflow con la etiqueta react-native o para más interacciones en tiempo real, pregunte en Discord en el # canal nativo de reacción.
  • Si se trata de una solicitud de función o un error que le gustaría corregir, infórmelo en Product Pains . Tiene una función de clasificación que nos permite centrarnos en los problemas más importantes que está experimentando la comunidad.
  • Damos la bienvenida a cuestiones claras y RP que estén listos para un debate en profundidad. Proporcione capturas de pantalla cuando corresponda y siempre mencione la versión de React Native que está utilizando. ¡Gracias por sus aportaciones!

Recibo el mismo error al probar en un iPhone6 ​​(9.1)

¿En qué se diferencia este número del número 1693? En general, el problema parece ser el mismo. ¿Podemos cerrarlo y continuar con la investigación allí, ya que tiene más detalles?

+1
También tengo este problema, y ​​ha sucedido con frecuencia cambiar de navegador

Yendo a cerrarlo como @askday también puso mejor repro en el # 1693. Vuelva a abrir si OP mencionó algo diferente.

Mismo error para mí.
Reaccionar 0.31
Depuración de Chrome.
En uso normal no hay problema.

console.error: "Se intentó realizar la transición del estado RESPONDER_INACTIVE_PRESS_IN a RESPONDER_ACTIVE_LONG_PRESS_IN , que no es compatible. Es muy probable que esto se deba a que Touchable.longPressDelayTimeout no se canceló".

Object.console.error
YellowBox.js: 60
Constructor._handleLongDelay
Touchable.js: 595
JSTimersExecution.callbacks. (Anónimo
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 .__ callFunction
MessageQueue.js: 204

MessageQueue.js: 95

+1

+1

+1

+1

: +1:

👍

+1

+1

+1

+1

+1

+1

+1

+1

+1

También tengo este error, pero solo en Android. IOS funciona como se esperaba.

+1

+1

+1

+1

+1

+1

+1

+1 mismo error solo en Android pero iOS funciona bien.

+1 igual que @ binzailani3136

+1

Felicitaciones por la selección de este error como uno de los problemas más notorios de RN0.39

+1

+1

+1

+1

+1

+1

+1

+1

Chicos, sus +1 no son útiles, y esto está en el n. ° 1693

+1

+1

+1

+1

+1

+1

Como veo, mucha gente parece tener siempre este problema, y ​​este está cerrado, así que creo uno nuevo aquí: # 11989

+1

+1

@magrinj , ¿por qué se cierra este problema cuando tantos, incluido yo recién en RN 0.37, continúan con este error? ¿Existe una solución provisional desde el lado de la aplicación?

@fungilation Tal vez

Corregido después de agregar Vista

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

@Yadro , ¿te refieres a que insertar una Vista adicional soluciona esto desde el lado de la aplicación, o que RN puede solucionarlo internamente al hacerlo?

hm, mi inglés es malo, pero al insertar una Vista adicional se resuelve este problema

Está bien. Informaré si sigo encontrando este problema con vistas adicionales

+1

Solo obtengo esto cuando estoy en depuración remota. Esto no sucede normalmente. RN .41.2. Windows 10. Android

+1

@ ckwong90 , algunos aquí, solo aparece cuando se realiza una depuración remota
RN .41.2. macOS Sierra 10.12.3

  • 1 mismo problema

Lo mismo aquí, Android 6.0, último RN, depuración remota

+1

+1

+1

Encuentro este problema con react-native-button y el modelo de depuración en Chrome

Resolví el problema envolviendo el componente Button con View.

+1

Ya envolví los componentes en una Vista, pero obtuve este error. Después de eso, cualquier TouchableHighlight en mi aplicación arrojó este error. Resuelto (¿temporal?) Al borrar los datos de la aplicación en la configuración. El problema ocurrió en Android, Emulator, Win10, RN 0.42.3 con "Debug JS Remotely" sin "Hot Reloading".

aquí igual

+1

  • 1

+1 sucede cuando cambio de navegador

+1

Tengo el mismo error. La reconstrucción de la aplicación desde XCode me solucionó.

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

¿Algún progreso en esto?

Este problema ocurre cuando depuro de forma remota.

¡¿alguien?!

después de desarrollar durante 3 semanas, de repente aparece este problema cuando utilizo el componente Fab de nativebase. Espero que F8 pueda solucionar este problema

Tengo el mismo problema

+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

La misma cosa

+1

+1

+1

+1

+1 .... este error aparece después de que empiezo a usar fetch ...

El mismo problema, la vista adicional no funciona

+1

+1

contar ++

+1

PARE con el spam +1. Solo dale a la publicación original o cualquier comentario un pulgar hacia arriba 👍🏼 si ves lo mismo.

@fungilacion 👍

+1

Esto solo sucede con la depuración remota y lo solucioné temporalmente haciendo lo siguiente:

  1. Abrir la configuración de Android
  2. Aplicaciones
  3. Haga clic en su aplicación
  4. Almacenamiento
  5. Limpiar cache

Nota: esta es realmente una solución temporal . Todavía aparece repetidamente de vez en cuando.

@Jarrio Gracias

@lukemiles pensamientos?

+1

+1

+1

La solución tmp de @Jarrio funciona por ahora

+1

+1

+1

rn 48 +1,

+1

rn 48 + 1

El problema ocurrió solo si la depuración remota de js está habilitada ... con el modo normal, está funcionando bien.

rn 49,3+ 1

+1

+1

+1

image+1

Cambio TouchableHighlight a TouchableOpacity , no sucede

50 RN +1

@Jarrio todavía arroja el error de inmediato en Android

+1 0,47

+1

¡¡¡POR FAVOR PARE +1 !!!

uh ... más 1, entonces

+1

+1

+1 por 0.48.3

+1 en 0.51.0

+1 es agradable, me encanta. Pasa de 0.50

+1

+1

+1

con react-native 0.51.0

"Solucioné" esto configurando manualmente la hora del dispositivo en Android. Asegúrese de que la nueva hora sea igual a la de su computadora (apunte al siguiente cambio de minuto), confirme el cambio de hora en el mismo segundo que la hora de su computadora cambiará al siguiente minuto.

+1

+1

+1

+1

+1

+1

La solución para mí fue

  1. Asegúrese de que el teléfono y la PC tengan la misma zona horaria
  2. Actualizar manualmente la hora en la PC: Fecha y hora -> pestaña Hora de Internet -> Cambiar configuración -> Hora de actualización
  3. Activa la actualización automática de la hora en la configuración de Android y luego desactívala
  4. Reinicia la aplicación

+1

En LibrariesComponentsTouchableTouchableHighlight.js reemplazar

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

con

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

Me resolvió el problema.

+1

+1

Tuve el mismo problema en Android cuando
a) mi teléfono móvil estaba conectado a mi PC a través de USB
b) Usé depuración remota a través de la red

La desconexión del USB resolvió el problema. Sin embargo, no tengo idea de si existe una relación causal.

Editar: después de tener problemas adicionales con los tiempos de espera asíncronos, verifiqué la hora actual en la PC y el dispositivo Android a través de

adb shell date && date .

Hubo una discrepancia de 5 segundos. Uno podría tener la tentación de adivinar que existe una inconsistencia en cómo RN maneja la hora actual al depurar de forma remota.
Vía

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

Identifiqué al culpable en mi caso: la hora del sistema de mi dispositivo Android estaba desfasada en 5 segundos. Reiniciar el dispositivo Android solucionó la discrepancia.

Acabo de verificar la hora desde el dispositivo Android y mi Mac con: adb shell date && date . Se diferenciaba en más de 2 minutos. Luego activé la configuración automática de la hora en mi dispositivo Android y ejecuté el mismo comando nuevamente y voilá, la hora estaba sincronizada, pero la zona horaria no era la misma a pesar de que en ambos (dispositivo Android y Mac) la configuración de la zona horaria era automática. Así que desactivé la configuración automática de la zona horaria en mi dispositivo Android y la configuré manualmente en la correspondiente y el error desapareció.

+1

+1

la configuración automática de la hora en el dispositivo Android y la configuración automática de la hora en la computadora resolvieron el problema

en Ubuntu sincronicé la hora del sistema con la hora actual de ADB haciendo:

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

+1

+1

Bloqueo debido a comentarios +1 repetitivos. Una solución fue publicada hace mucho tiempo por @ Larry-Liu2016 aquí . En resumen, consulte el reloj de sus dispositivos.

¿Fue útil esta página
0 / 5 - 0 calificaciones