Нет onLongPress для реагирования-навигации HeaderBackButton - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь добавить функциональность onLongPress для пользовательской кнопки возврата заголовка, но это не похоже на существующую опору. Есть ли способ обойти это?

Я хочу эту функцию, так как мое приложение предназначено для людей с болезнью Паркинсона, поэтому для пользователей с тремором у меня есть возможность разрешить только onLongPress (поэтому последующие нажатия клавиш будут игнорироваться и пропусков зажигания можно будет избежать). Таким образом, если опция длительного нажатия была включена, функциональность onPress будет игнорироваться, и будет работать только onLongPress. Если опция не была включена, оба onPress и onLongPress должны работать.

Я создал другие настраиваемые кнопки для заголовка, но я хочу, чтобы кнопка «Назад» поддерживала стек навигации, чтобы он возвращался на страницу, с которой пришел пользователь. Есть ли способ добавить стандартную прозрачность touchable, с той же функциональностью onPress, что и HeaderBackButton, так что я могу добавить функциональность onLongPress.

1 Ответ

0 голосов
/ 06 марта 2020

Вы можете добавить headerLeft prop в вашей конфигурации навигации, которая, учитывая, что функция передается ей, предоставляет аргументы, такие как (onPress, label, ...). Вы можете вызвать это onPress в функции onLongPress вашего пользовательского компонента, чтобы сохранить ту же функциональность.

Вот пример кода:

navigationOptions: {
  headerLeft: (onPress) => {
    return <TouchableOpacity ... onLongPress={onPress}>...</TouchableOpacity>
  }
}

Подробнее об этом можно прочитать здесь .

...