Update [Custom Android back button behavior] example
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Documentação
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- react, react-native
- Domínio
- documentation
Direção de pesquisa
Revise o exemplo vinculado do comportamento do botão voltar personalizado do Android e o snippet proposto baseado em hooks. Decida se o exemplo deve ser atualizado para essa abordagem; considera-se concluído quando o exemplo da documentação refletir o comportamento acordado e estiver claro para os leitores.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- JavaScript
- Estrelas
- 324
- Forks
- 2k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de react-navigation/react-navigation.github.io
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 94/100
react-navigation/react-navigation.github.io#1516 · 1 comentário ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 68/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Todas as issues de react-navigation/react-navigation.github.io
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
mksglu/context-mode#1200 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
neondatabase/website#5944 ·
-
module: core
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
jaegertracing/jaeger-ui#4506 ·