Replace status prop with checked in ToggleButton component
Mantenedores costumam responder em até 11 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 50/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- react-native, typescript
Direção de pesquisa
Localize a implementação de ToggleButton e seus usos na base de código do react-native-paper e, em seguida, inspecione como a prop status atual é tipada e consumida. O trabalho estará concluído quando o componente e seus chamadores usarem consistentemente checked como booleano, em vez de valores de string para status.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Is your feature request related to a problem? Please describe.
The ToggleButton component currently uses a status prop with string values checked | unchecked. This adds unnecessary complexity for a binary state.
Describe the solution you'd like
Replace the status prop with a boolean checked prop.
Before:
const ToggleButtonExample = () => {
const [status, setStatus] = React.useState('checked');
const onButtonToggle = () => {
setStatus(status === 'checked' ? 'unchecked' : 'checked');
};
return (
<ToggleButton
icon="bluetooth"
value="bluetooth"
status={status}
onPress={onButtonToggle}
/>
);
};
After:
const ToggleButtonExample = () => {
const [isChecked, setIsChecked] = React.useState(true);
const onButtonToggle = () => {
setIsChecked(s => !s);
};
return (
<ToggleButton
icon="bluetooth"
value="bluetooth"
checked={isChecked}
onPress={onButtonToggle}
/>
);
};
Additional context
A boolean checked prop is simpler, clearer, and more consistent with common React patterns than using string values like 'checked' and 'unchecked'.
- Linguagem predominante
- TypeScript
- Estrelas
- 14.5k
- Forks
- 2.3k
- Merge médio
- 13d 16h
- PRs com merge (30d)
- 5
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
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 callstack/react-native-paper
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
callstack/react-native-paper#5146 · 2 comentários ·
Mantenedores costumam responder em até 11 dias
-
Menu ignores the keyboard when it mounts while the keyboard is already openTalvez já em andamento @manchoudhary assumiu há 48 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
callstack/react-native-paper#5096 ·
Mantenedores costumam responder em até 11 dias
-
Tooltip: onPress event object is not propagated to parent component on nativeTalvez já em andamento @aliyilmaztech assumiu há 81 dias. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
callstack/react-native-paper#5003 ·
Mantenedores costumam responder em até 11 dias
-
Snackbar stays mounted after `visible=false` under new architecture (iOS + Android)Talvez já em andamento @momomuchu assumiu há 122 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
callstack/react-native-paper#4951 ·
Mantenedores costumam responder em até 11 dias
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
callstack/react-native-paper#4881 ·
Mantenedores costumam responder em até 11 dias
Todas as issues de callstack/react-native-paper
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Equal-Vote/bettervoting#1754 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
Doist/todoist-sdk-typescript#740 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 62/100
privatenumber/cleye#47 ·
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:auth-provider issue-rating: 🦞 diamond lobster no-stale P1
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
steipete/oracle#614 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
MoonshotAI/kimi-code#4591 ·
Mantenedores costumam responder em até 1 dia