Ввод текста мерцание реагировать родной
Я использовал ввод текста при создании панели поиска на "Домашнем экране". Всякий раз, когда я нажимаю на панель поиска, я перехожу на "SearchScreen", где фокусируется на вводе текста.
На обоих экранах у меня есть заполнитель "Поиск" при вводе текста. Проблема, с которой я сталкиваюсь, заключается в том, что заполнитель мигает при смене экранов. Это происходит постоянно, если / когда вводится текст заново.
Я хочу, чтобы заполнитель оставался статичным для плавного перехода между экранами. Пожалуйста, дайте мне знать, если у вас есть идеи о том, как его установить, или если у вас есть какие-либо предлагаемые обходные пути.
2 ответа
Я использую response-native-router-flux и вот некоторые наблюдения, ранее я использовал .replace()
для переключения сцен, на этот раз я использовал .push()
настраивая его так, чтобы он не отображал анимацию, и теперь при отображении экрана поиска поиск не мерцает, однако при переносе экрана поиска в стек он мерцает, похоже, что повторный рендеринг вызывает мерцание (так как pop не вызывает рендеринг но толчок делает).
На данный момент лучше избегать использования заполнителя до тех пор, пока проблема не будет решена в самом реактиве.
Взгляните на эту библиотеку Fluid Transitions. Эта библиотека помогает создавать плавные переходы между экранами и общими компонентами. Таким образом, вы можете перейти от экрана A к экрану B, сохранив неповрежденным ввод строки поиска или, по крайней мере, сохранить плавный переход.
Другая идея... Вам действительно нужно перейти к другому экрану при фокусировке панели поиска? Возможно ли, если вы просто создадите компонент SearchList, который "показывает / скрывает" FlatList (например), когда пользователь фокусирует панель поиска, он переключается на другой экран, когда пользователь нажимает на конкретный результат.