Мерцание ввода текста

Я использовал ввод текста при создании панели поиска на «Домашнем экране». Всякий раз, когда я нажимаю на панель поиска, я попадаю на экран поиска, на котором фокусируется ввод текста. На обоих экранах у меня есть заполнитель «Поиск» во вводе текста. Проблема, с которой я столкнулся, заключается в том, что заполнитель мерцает при смене экранов. Это происходит постоянно, если / когда вводимый текст повторно отображается. Я хочу, чтобы заполнитель оставался статичным для плавного перехода между экранами. Пожалуйста, дайте мне знать, есть ли у вас какие-либо идеи о том, как его установить, или у вас есть какие-либо предлагаемые обходные пути.

Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
0
0
1 150
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Взгляните на эту библиотеку Жидкие переходы. Эта библиотека помогает создавать плавные переходы между экранами и общими компонентами. Таким образом, вы можете переходить от экрана A к экрану B, сохраняя ввод в строке поиска без изменений или, по крайней мере, сохранять плавный переход.

Другая идея ... Неужели нужно переходить на другой экран при фокусировке строки поиска? Возможно ли, если вы просто создадите компонент SearchList, который «показывает / скрывает» FlatList (например), когда пользователь фокусирует строку поиска, он переходит на другой экран, когда пользователь нажимает на определенный результат.

Спасибо за ответ. У меня была идея оставить панель поиска только на одном экране и отображать / скрывать компоненты по мере необходимости, но я хотел, чтобы экраны были разделены, так как я буду делать некоторые другие настройки. Я использую react-native-router-flux с .replace(key), поэтому анимация смены экрана не отображается. Все работает нормально, если я удаляю заполнитель из ввода текста в строке поиска, все остальные компоненты, текст, значок и т. д. В порядке, мерцание происходит только с заполнителем.

Pareksha Manchanda 08.09.2018 13:58
Ответ принят как подходящий

Я использую response-native-router-flux, и вот некоторые наблюдения, ранее я использовал .replace() для переключения сцен, на этот раз я использовал .push(), настроив его так, чтобы не отображалась анимация, и теперь поиск не мерцает при открытии экрана поиска, однако , он мерцает при перемещении экрана поиска в стек, похоже, что повторный рендеринг вызывает мерцание (поскольку pop не запускает рендеринг, а push делает).

На данный момент лучше избегать использования заполнителя, пока проблема не будет решена в самом react-native.

Другие вопросы по теме