Аналогично # 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>
);
}
}
PS Есть ли лучший способ скопировать трассировку стека? Я просто копирую из консоли инструментов разработчика Chrome
Привет, Dyscrete, спасибо, что сообщили об этой проблеме!
React Native, как вы, наверное, слышали, становится действительно популярным, и правда в том, что мы немного ошеломлены деятельностью, связанной с ним. Нам нужно решить слишком много проблем.
react-native
или для дополнительных взаимодействий в реальном времени спросите в Discord в # Реагировать на собственный канал.Я получаю ту же ошибку при тестировании на iPhone6 (9.1)
Чем этот выпуск отличается от №1693? В общем проблема вроде та же. Можем ли мы закрыть его и продолжить расследование там, где есть больше деталей?
+1
У меня тоже такая проблема, и бывает, что часто переключаю навигатор
Собираюсь закрыть его как @askday, также
Такая же ошибка для меня.
Реагировать 0,31
Отладка Chrome.
При нормальном использовании проблем нет.
console.error: «Попытка перейти из состояния RESPONDER_INACTIVE_PRESS_IN
в состояние RESPONDER_ACTIVE_LONG_PRESS_IN
, которое не поддерживается. Скорее всего, это связано с тем, что Touchable.longPressDelayTimeout
не отменяется.»
Object.console.error
YellowBox.js: 60
Конструктор._handleLongDelay
Touchable.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 .__ callFunction
MessageQueue.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 , вы имеете в виду, что добавление дополнительных View исправляет это со стороны приложения, или RN может исправить это изнутри, сделав это?
хм, я плохо говорю по-английски, но добавление дополнительных View решает эту проблему
В порядке. Я сообщу, если я все еще столкнусь с этой проблемой с дополнительными представлениями
+1
Я получаю это только при удаленной отладке. Обычно этого не происходит. РН .41.2. Windows 10. Android
+1
@ ckwong90 , некоторые здесь, появляются только при удаленной отладке
РН .41.2. macOS Sierra 10.12.3
То же самое, Android 6.0, последняя версия RN, удаленная отладка
+1
+1
+1
Я столкнулся с этой проблемой с react-native-button
и моделью отладки в Chrome
Я решил проблему, заключив компонент Button в View.
+1
Я уже завернул компоненты в представление, но получил эту ошибку. После этого любой TouchableHighlight в моем приложении выдавал эту ошибку. Решил (временно?), Очистив данные приложения в настройках. Проблема возникла в Android, эмуляторе, Win10, RN 0.42.3 с «Отладкой JS удаленно» без «горячей перезагрузки».
то же самое
+1
+1 случается, когда я переключаю навигатор
+1
Получил ту же ошибку. Восстановление приложения из XCode решило эту проблему для меня.
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
Есть ли в этом прогресс?
Эта проблема возникает при удаленной отладке.
кто-нибудь?!
после разработки в течение 3 недель внезапно эта проблема появляется, когда я использую компонент Fab nativebase. Я надеюсь, что 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. Просто поставьте отметку "Нравится" против исходного сообщения или любого другого комментария 👍🏼, если увидите то же самое.
@fungilation 👍
+1
Это происходит только при удаленной отладке, и я временно исправил это, выполнив следующие действия:
Примечание: это действительно временное решение. Он до сих пор то и дело всплывает.
@Jarrio Спасибо
@lukemiles мысли?
+1
+1
+1
Решение @Jarrio tmp пока работает
+1
+1
+1
р-н 48 +1,
+1
р-н 48 + 1
Проблема возникла только в том случае, если удаленная отладка js включена ... в нормальном режиме он работает нормально.
рН 49,3+ 1
+1
+1
+1
+1
Я меняю TouchableHighlight
на TouchableOpacity
, этого не происходит
РН.50 +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
В библиотекахComponentsTouchableTouchableHighlight.js заменить
touchableGetLongPressDelayMS: function () {
вернуть this.props.delayLongPress;
},
с участием
touchableGetLongPressDelayMS: function () {
вернуть 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
. Он отличался более чем на 2 минуты. Затем я активировал автоматическую настройку времени на своем устройстве Android и снова выполнил ту же команду, и время было синхронизировано, но часовой пояс не был одинаковым, хотя на обоих (устройстве Android и Mac) настройка часового пояса была автоматической. Поэтому я отключил автоматическую настройку часового пояса на своем устройстве Android и вручную установил соответствующий, и ошибка исчезла.
+1
+1
автоматическая установка времени на устройстве Android и автоматическая установка времени на компьютере решили проблему
в Ubuntu я синхронизировал системное время с текущим временем ADB, выполнив:
sudo date +%T -s `adb shell date +%T`
+1
+1
Блокировка из-за повторяющихся комментариев +1. Решение было опубликовано давно здесь @ Larry-Liu2016. Таким образом, проверьте часы на своих устройствах.
Самый полезный комментарий
Исправлено после добавления просмотра