React-native: Tentative de transition de l'Ă©tat "RESPONDER_INACTIVE_PRESS_IN" Ă  "RESPONDER_ACTIVE_LONG_PRESS_IN", ce qui n'est pas pris en charge.

CrĂ©Ă© le 8 fĂ©vr. 2016  Â·  162Commentaires  Â·  Source: facebook/react-native

Similaire à #1693. Il semble que ce soit un problÚme avec le composant Touchable avec le débogage Chrome sur 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

Le code qui produit cette erreur provient d'une application qui vient d'ĂȘtre lancĂ©e Ă  l'aide d'un composant 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 Existe-t-il un meilleur moyen de copier un stacktrace ? Je copie juste à partir de la console des outils de développement Chrome

Locked

Commentaire le plus utile

Corrigé aprÚs l'ajout d'une vue

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

Tous les 162 commentaires

Salut Dyscrete, merci d'avoir signalé ce problÚme !

React Native, comme vous l'avez probablement entendu, devient trÚs populaire et la vérité est que nous sommes un peu dépassés par l'activité qui l'entoure. Il y a tout simplement trop de problÚmes pour que nous puissions les gérer correctement.

  • Si vous ne savez pas comment faire quelque chose ou que quelque chose ne fonctionne pas comme prĂ©vu mais que vous n'ĂȘtes pas sĂ»r qu'il s'agisse d'un bogue , veuillez demander sur StackOverflow avec la balise react-native ou pour plus d'interactions en temps rĂ©el, demandez sur Discord dans le #react-native channel.
  • S'il s'agit d'une demande de fonctionnalitĂ© ou d'un bogue que vous souhaitez corriger, veuillez le signaler sur Product Pains . Il dispose d'une fonction de classement qui nous permet de nous concentrer sur les problĂšmes les plus importants auxquels la communautĂ© est confrontĂ©e.
  • Nous accueillons les questions claires et les PR qui sont prĂȘts pour une discussion approfondie. Veuillez fournir des captures d' version de React Native que vous utilisez. Merci pour vos contributions!

J'obtiens la mĂȘme erreur lors du test sur un iPhone6 ​​(9.1)

En quoi ce numĂ©ro est-il diffĂ©rent du #1693 ? En gĂ©nĂ©ral, le problĂšme semble ĂȘtre le mĂȘme. Pouvons-nous le fermer et poursuivre l'enquĂȘte lĂ -haut car il contient plus de dĂ©tails ?

+1
J'ai aussi ce problÚme, et il m'est souvent arrivé de changer de navigateur

Je vais le fermer car @askday a également mis une meilleure reproduction dans le #1693. Veuillez rouvrir si OP a mentionné quelque chose de différent.

MĂȘme erreur pour moi.
RĂ©agir 0.31
DĂ©bogage de Chrome.
En utilisation normale il n'y a pas de problĂšme.

console.error : "Tentative de transition de l'état RESPONDER_INACTIVE_PRESS_IN à RESPONDER_ACTIVE_LONG_PRESS_IN , ce qui n'est pas pris en charge. Cela est probablement dû au fait que Touchable.longPressDelayTimeout n'a pas été annulé."

Objet.console.erreur
YellowBox.js:60
Constructeur._handleLongDelay
Touchable.js:595
JSTimersExecution.callbacks.(anonyme
index.ios.bundle?platform=ios&dev=true&minify= false:8476 :13
Objet.callTimer
JSTimersExecution.js:84

JSTimersExecution.js:119
Objet.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

J'ai également cette erreur, mais uniquement sur Android. IOS fonctionne comme prévu.

+1

+1

+1

+1

+1

+1

+1

+1 mĂȘme erreur uniquement sur Android mais iOS fonctionne bien.

+1 comme @binzailani3136

+1

Félicitations pour ce bogue sélectionné comme l'un des problÚmes les plus notoires de RN0.39

+1

+1

+1

+1

+1

+1

+1

+1

Les gars, vos +1 ne sont pas utiles, et c'est dans #1693

+1

+1

+1

+1

+1

+1

Comme je vois que beaucoup de gens semblent toujours avoir ce problÚme, et celui-ci est fermé, alors j'en crée un nouveau ici : #11989

+1

+1

@magrinj , pourquoi ce problĂšme est-il clos alors que tant de personnes, y compris moi-mĂȘme tout Ă  l'heure sur RN 0.37, continuent de rencontrer cette erreur ? Existe-t-il une solution provisoire du cĂŽtĂ© de l'application ?

@fungilation J'ai peut-ĂȘtre fait une erreur en ouvrant un nouveau ticket, car celui-ci est ouvert et parle du mĂȘme problĂšme : #1693

Corrigé aprÚs l'ajout d'une vue

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

@Yadro , vous voulez dire insérer des correctifs supplémentaires de View du cÎté de l'application, ou RN peut le corriger en interne en le faisant ?

hm, mon anglais est mauvais, mais l'insertion d'une vue supplémentaire résout ce problÚme

D'accord. Je ferai un rapport si je rencontre toujours ce problÚme avec des vues supplémentaires

+1

Je ne reçois cela que lorsque je suis en débogage à distance. Cela ne se produit pas normalement. RN .41.2. Windows 10. Android

+1

@ckwong90 , certains ici, n'apparaissent que lors du débogage à distance
RN .41.2. macOS Sierra 10.12.3

  • 1 mĂȘme problĂšme

Idem ici, Android 6.0, dernier RN, débogage à distance

+1

+1

+1

Je rencontre ce problÚme avec react-native-button et le modÚle de débogage dans Chrome

J'ai résolu le problÚme en enveloppant le composant Button avec View.

+1

J'ai déjà enveloppé les composants dans une vue, mais j'ai eu cette erreur. AprÚs cela, tout TouchableHighlight de mon application a généré cette erreur. Résolu (temporaire ?) En effaçant les données de l'application dans les paramÚtres. Le problÚme s'est produit dans Android, Emulator, Win10, RN 0.42.3 avec "Debug JS Remotely" sans "Hot Reloading".

pareil ici

+1

  • 1

+1 arrive quand je change de navigateur

+1

Vous avez la mĂȘme erreur. La reconstruction de l'application Ă  partir de XCode l'a rĂ©solu pour moi.

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

Des progrĂšs lĂ -dessus ?

Ce problÚme se produit lorsque je débogue à distance.

n'importe qui?!

aprÚs avoir développé pendant 3 semaines, ce problÚme apparaßt soudainement lorsque j'utilise le composant Fab nativebase. J'espÚre que F8 pourra résoudre ce problÚme

Avoir le mĂȘme problĂšme,

+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 mĂȘme chose

+1

+1

+1

+1

+1 .... cette erreur apparaßt juste aprÚs avoir commencé à utiliser fetch ...

mĂȘme problĂšme, la vue supplĂ©mentaire ne fonctionne pas

+1

+1

compter++

+1

STOP avec le +1 spam. Donnez simplement un pouce levĂ© au message d'origine ou au commentaire si vous voyez la mĂȘme chose.

@fungilation 👍

+1

Cela ne se produit qu'avec le débogage à distance et j'ai corrigé ce problÚme temporairement en procédant comme suit :

  1. Ouvrir les paramĂštres Android
  2. applications
  3. Cliquez sur votre candidature
  4. Stockage
  5. Vider le cache

Remarque : Il s'agit vraiment d'une solution temporaire . Il apparaßt encore à plusieurs reprises de temps en temps.

@Jarrio Merci

@lukemiles pensées?

+1

+1

+1

La solution tmp de @Jarrio fonctionne pour le moment

+1

+1

+1

rn 48 +1,

+1

m 48 + 1

Le problÚme ne s'est produit que si le débogage js à distance est activé... avec le mode normal, cela fonctionne bien.

rn 49,3+ 1

+1

+1

+1

image+1

Je change TouchableHighlight en TouchableOpacity , ça n'arrive pas

RN.50 +1

@Jarrio jette toujours l'erreur tout de suite sur Android

+1 0,47

RN@0,51 +1

+1

S'IL VOUS PLAÎT ARRÊTER +1 !!!

euh... plus 1, alors

+1

+1

+1 pour 0,48.3

+1 sur 0.51.0

+1 c'est sympa, j'adore. Arrive de 0.50

+1

+1

+1

avec natif de réaction 0.51.0

J'ai "rĂ©parĂ©" ce problĂšme en rĂ©glant manuellement l'heure de l'appareil sous Android. Assurez-vous que la nouvelle heure sera Ă©gale Ă  celle de votre ordinateur (visez le changement de minute suivante), confirmez le changement d'heure Ă  la mĂȘme seconde que l'heure de votre ordinateur passera Ă  la minute suivante.

+1

+1

+1

+1

+1

+1

La solution pour moi Ă©tait de

  1. Assurez-vous que le tĂ©lĂ©phone et le PC ont le mĂȘme fuseau horaire
  2. Mettre à jour manuellement l'heure sur le PC : Date et heure -> onglet Heure Internet -> Modifier les paramÚtres -> Heure de mise à jour
  3. Activez la mise à jour automatique de l'heure dans les paramÚtres Android, puis désactivez-la
  4. Redémarrer l'application

+1

Dans LibrariesComponentsTouchableTouchableHighlight.js remplacer

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

avec

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

Cela a résolu le problÚme pour moi.

+1

+1

J'ai eu le mĂȘme problĂšme sur Android quand
a) mon téléphone portable était connecté à mon PC via USB
b) J'ai utilisé le débogage à distance via le réseau

La déconnexion de l'USB a résolu le problÚme. Aucune idée s'il y a un lien de causalité, cependant.

Edit : aprÚs avoir rencontré des problÚmes supplémentaires avec les délais d'attente asynchrone, j'ai vérifié l'heure actuelle sur PC et appareil Android via

adb shell date && date .

Il y avait un Ă©cart de 5 secondes. On pourrait ĂȘtre tentĂ© de deviner qu'il existe une incohĂ©rence dans la façon dont RN gĂšre l'heure actuelle lors du dĂ©bogage Ă  distance.
Passant par

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

J'ai identifié le coupable dans mon cas : l'heure systÚme de mon appareil Android était décalée de 5 secondes. Le redémarrage de l'appareil Android a corrigé l'écart.

Je viens de vĂ©rifier l'heure de l'appareil Android et de mon Mac avec : adb shell date && date . Il diffĂ©rait de plus de 2 minutes. Ensuite, j'ai activĂ© le rĂ©glage automatique de l'heure sur mon appareil Android et j'ai exĂ©cutĂ© Ă  nouveau la mĂȘme commande et voilĂ , l'heure a Ă©tĂ© synchronisĂ©e, mais le fuseau horaire n'Ă©tait pas le mĂȘme mĂȘme si sur les deux (appareil Android et Mac) le rĂ©glage du fuseau horaire Ă©tait automatique. J'ai donc dĂ©sactivĂ© le rĂ©glage automatique du fuseau horaire sur mon appareil Android et l'ai rĂ©glĂ© manuellement sur le correspondant et l'erreur a disparu.

+1

+1

le réglage automatique de l'heure sur l'appareil Android et le réglage automatique de l'heure sur l'ordinateur ont résolu le problÚme

sur Ubuntu, j'ai synchronisé l'heure systÚme avec l'heure actuelle de la BAD en faisant :

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

+1

+1

Verrouillage en raison de commentaires +1 répétitifs. Une solution a été publiée il y a longtemps par @Larry-Liu2016 ici . En résumé, vérifiez l'heure de vos appareils.

Cette page vous a été utile?
0 / 5 - 0 notes