react-navigation / react-navigation/react-navigation.github.io
Update [Custom Android back button behavior] example
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 324
- Forks
- 2k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Hi! I am currently refactoring code to using hooks. And I found refactoring the custom back button behaviour confusing.
I tried to adapt the example you have here to the code I refactored
import React from "react";
import { BackHandler } from "react-native";
const ScreenWithCustomBackBehavior = ({ navigation }) => {
const onBackButtonPressAndroid = useCallback(() => {
if (isSelectionModeEnabled()) {
disableSelectionMode();
return true;
} else {
return false;
}
}, [isSelectionModeEnabled, disableSelectionMode]);
useEffect(() => {
const _didFocusSubscription = navigation.addListener('didFocus', () => {
BackHandler.addEventListener('hardwareBackPress', onBackButtonPressAndroid);
});
const _willBlurSubscription = navigation.addListener('willBlur', () => {
BackHandler.removeEventListener('hardwareBackPress', onBackButtonPressAndroid);
});
return () => {
if (_didFocusSubscription) {
_didFocusSubscription.remove();
}
if (_willBlurSubscription) {
_willBlurSubscription.remove();
}
};
}, [navigation, onBackButtonPressAndroid]);
}
return (
// ...
)
Do you think it's a proper way to do it? If yes, should I submit a PR?
Thank you
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Revisa el ejemplo enlazado del comportamiento del botón de retroceso personalizado de Android y el fragmento propuesto basado en hooks. Decide si el ejemplo debe actualizarse a este enfoque; se considera terminado cuando el ejemplo de la documentación refleja el comportamiento acordado y es claro para los lectores.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- react, react-native
- Área
- documentation
- Tipo de issue
- Documentación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100