Semelhante a # 1693. Parece ser um problema com o componente Touchable
com o Chrome Debugging no 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
O código que produz esse erro é de um aplicativo recém-iniciado usando um 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>
);
}
}
PS Existe uma maneira melhor de copiar um rastreamento de pilha? Estou apenas copiando do console de ferramentas de desenvolvimento do Chrome
Ei, Discreto, obrigado por relatar esse problema!
React Native, como você provavelmente já ouviu falar, está ficando muito popular e a verdade é que estamos ficando um pouco sobrecarregados com a atividade que o cerca. Existem muitos problemas para gerenciarmos adequadamente.
react-native
ou para mais interações em tempo real, pergunte no Discord no # canal nativo de reação.Recebo o mesmo erro ao testar em um iPhone6 (9.1)
Qual é a diferença entre esse problema e o # 1693? Em geral, o problema parece ser o mesmo. Podemos fechá-lo e continuar a investigação lá em cima, pois tem mais detalhes?
+1
Eu também recebo esse problema, e isso acontece com frequência alternar navegador
Fechar como @askday também colocou uma reprodução melhor no # 1693. Por favor, reabra se OP mencionou algo diferente.
Mesmo erro para mim.
React 0,31
Depuração do Chrome.
Em uso normal, não há problema.
console.error: "Tentativa de transição do estado RESPONDER_INACTIVE_PRESS_IN
para RESPONDER_ACTIVE_LONG_PRESS_IN
, que não é compatível. Isso provavelmente se deve ao fato de Touchable.longPressDelayTimeout
não ter sido cancelado."
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
Também estou tendo esse erro, mas apenas no Android. O IOS está funcionando conforme o esperado.
+1
+1
+1
+1
+1
+1
+1
+1 mesmo erro apenas no Android, mas iOS funciona bem.
+1 igual a @ binzailani3136
+1
Parabéns por este bug ter sido selecionado como um dos problemas mais notórios do RN0.39
+1
+1
+1
+1
+1
+1
+1
+1
Gente, seus + 1s não são úteis, e isso está em # 1693
+1
+1
+1
+1
+1
+1
Como vejo muitas pessoas parecem sempre ter esse problema, e este está fechado, então crio um novo aqui: # 11989
+1
+1
@magrinj , por que este problema foi fechado quando tantos, incluindo eu agora no RN 0.37, continuam a atingir este erro? Existe uma solução temporária do lado do aplicativo?
@fungilation Talvez eu tenha cometido um erro ao abrir um novo tíquete, porque este é aberto e fala sobre o mesmo problema: # 1693
Corrigido após adicionar visualização
<TouchableNativeFeedback>
<View> // <= here
<Text style={css.item}>{rowData.title + rowData.id}</Text>
</View>
</TouchableNativeFeedback>
@Yadro , você quer dizer inserir correções adicionais do View do lado do aplicativo ou a RN pode consertar internamente fazendo isso?
hm, meu inglês é ruim, mas inserir visualização adicional resolve este problema
OK. Vou relatar se ainda tiver esse problema com visualizações adicionais
+1
Eu só recebo isso quando estou em depuração remota. Isso não acontece normalmente. RN .41.2. Windows 10. Android
+1
@ ckwong90 , alguns aqui, só aparecem durante a depuração remota
RN .41.2. macOS Sierra 10.12.3
O mesmo aqui, Android 6.0, RN mais recente, depuração remota
+1
+1
+1
Encontro este problema com react-native-button
e modelo de depuração no Chrome
Resolvi o problema envolvendo o componente Botão com Visualização.
+1
Já envolvi os componentes em uma View, mas recebi este erro. Depois disso, qualquer TouchableHighlight em meu aplicativo gerava esse erro. Resolvido (temporário?), Limpando os dados do aplicativo nas configurações. O problema ocorreu no Android, Emulator, Win10, RN 0.42.3 com "Debug JS Remotely" sem "Hot Reloading".
mesmo aqui
+1
+1 acontece quando eu mudo de navegador
+1
Tenho o mesmo erro. Reconstruir o aplicativo do XCode resolveu para mim.
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
Algum progresso nisso?
Esse problema ocorre quando eu depuro remotamente.
qualquer um?!
depois de desenvolver por 3 semanas, de repente esse problema aparece quando eu uso o componente Fab nativo. Espero que F8 possa corrigir esse problema
Tenho o mesmo 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
A mesma coisa
+1
+1
+1
+1
+1 .... este erro só aparece depois que eu começo a usar fetch ...
mesmo problema, visualização adicional não funciona
+1
+1
contagem ++
+1
PARE com o +1 spam. Basta dar um like na postagem original ou em qualquer comentário 👍🏼 se você vir o mesmo.
@fungilation 👍
+1
Isso só acontece com a depuração remota e eu corrigi isso temporariamente fazendo o seguinte:
Nota: Esta é realmente uma solução temporária . Ele ainda aparece repetidamente de vez em quando.
Obrigado @Jarrio
pensamentos de @lukemiles ?
+1
+1
+1
A solução tmp de @Jarrio funciona por enquanto
+1
+1
+1
rn 48 +1,
+1
rn 48 + 1
O problema ocorreu apenas se a depuração js remota estiver habilitada ... no modo normal, está funcionando bem.
rn 49.3+ 1
+1
+1
+1
+1
Eu mudo TouchableHighlight
para TouchableOpacity
, isso não acontece
RN.50 +1
@Jarrio ainda joga o erro de cara no android
+1 0,47
+1
POR FAVOR, PARE +1 !!!
uh ... mais 1, então
+1
+1
+1 por 0.48.3
+1 em 0.51.0
1 é bom, adoro isso. Acontece de 0,50
+1
+1
+1
com reagente nativo 0,51,0
Eu 'consertei' isso configurando manualmente a hora do dispositivo no Android. Certifique-se de que a nova hora será igual à do seu computador (vise a alteração do próximo minuto), confirme a alteração da hora no mesmo segundo em que a hora do computador mudará para o próximo minuto.
+1
+1
+1
+1
+1
+1
A solução para mim foi
+1
Em LibrariesComponentsTouchableTouchableHighlight.js, substitua
touchableGetLongPressDelayMS: function () {
return this.props.delayLongPress;
},
com
touchableGetLongPressDelayMS: function () {
return this.props.delayLongPress === 0? 0:
this.props.delayLongPress || 500;
},
Isso resolveu o problema para mim.
+1
+1
Eu tive o mesmo problema no Android quando
a) meu celular foi conectado ao meu PC via USB
b) Usei depuração remota via rede
Desconectar o USB resolveu o problema. Não tenho ideia se existe uma relação causal, no entanto.
Editar: Depois de obter problemas adicionais com tempos limite assíncronos, verifiquei a hora atual no PC e no dispositivo Android via
adb shell date && date
.
Houve uma discrepância de 5 segundos. Pode-se ficar tentado a adivinhar que há uma inconsistência em como o RN lida com a hora atual ao depurar remotamente.
Através da
curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g'
Identifiquei o culpado no meu caso: a hora do sistema do meu dispositivo Android estava errada por 5 segundos. Reinicializar o dispositivo Android corrigiu a discrepância.
Acabei de verificar a hora no dispositivo Android e no meu Mac com: adb shell date && date
. Estava diferindo por mais de 2 minutos. Então eu ativei a configuração automática de hora no meu dispositivo Android e executei o mesmo comando novamente e voilá a hora foi sincronizada, mas o fuso horário não era o mesmo, embora em ambos (dispositivo Android e Mac) a configuração de fuso horário fosse automática. Então, desativei a configuração automática de fuso horário no meu dispositivo Android e configurei-o manualmente para o correspondente e o erro desapareceu.
+1
+1
A configuração automática da hora no dispositivo Android e a configuração automática da hora no computador resolveram o problema
no Ubuntu, sincronizei a hora do sistema com a hora ADB atual fazendo:
sudo date +%T -s `adb shell date +%T`
+1
+1
Bloqueando devido a comentários repetitivos de +1. Uma solução foi postada há muito tempo por @ Larry-Liu2016 aqui . Em resumo, verifique o relógio dos seus dispositivos.
Comentários muito úteis
Corrigido após adicionar visualização