React Native: Не удается нажать кнопку во время быстрого повторного отображения экрана

#javascript #reactjs #react-native

Вопрос:

Мое приложение подключается к устройству Bluetooth и постоянно извлекает из него данные, сохраняет их в состоянии и выводит на экран. Кроме того, у меня есть кнопка на экране, которая должна что-то сделать (скажем, войти в консоль с сообщением). Моя проблема в том, что заданное состояние вызывает повторный рендеринг так быстро (думаю, в миллисекундах), что при нажатии кнопки ничего не происходит. Если я буду продолжать нажимать кнопку снова и снова, в конце концов она поймает и войдет в журнал консоли. Как я могу исправить это, если я могу постоянно показывать обновленные данные, одновременно нажимая на кнопку?

Я попытался удалить состояния быстрого набора, и все работает так, как ожидалось, поэтому я уверен, что функциональность кнопок обусловлена быстрым, повторяющимся повторным рендерингом.

Комментарии:

1. похоже, вы можете использовать ref для хранения входящих данных, которые не будут вызывать повторный рендеринг, а затем, скажем, через каждые 100 мс запускать повторный рендеринг, используя комбинацию useEffect/setTimeout…?