Как отследить нажатие аппаратной кнопки «Назад»?
Для отслеживания нажатия аппаратной кнопки «Назад» на смартфоне используйте следующий код в React Native:
useFocusEffect(
React.useCallback(() => {
const onBackPress = () => {
console.log("onbackpress & closed websocket");
client.disconnect();
};
BackHandler.addEventListener("hardwareBackPress", onBackPress);
return () =>
BackHandler.removeEventListener("hardwareBackPress", onBackPress);
})
);Этот код добавляет слушатель события hardwareBackPress при фокусировке экрана и удаляет его при размонтировании. Внутри колбэка выполняется отключение WebSocket-соединения через вызов client.disconnect().
Важно: Данный код обрабатывает только нажатие аппаратной кнопки на устройстве Android. Для обратной навигации в iOS используйте другие подходы (например, настроив кнопку «Назад» в навигаторе).