Fuel Design

Toggle

O componente Toggle é utilizado para criar um botão de alternância que pode ser ligado ou desligado. Ele recebe três propriedades:
isChecked (opcional): um valor booleano que indica se o botão está ligado ou desligado. O valor padrão é false.
onChangeChecked (obrigatório): uma função que será chamada quando o botão for pressionado. Ela recebe um único parâmetro, que é o novo valor do botão (booleano).
testID (opcional): um identificador de teste que pode ser usado para localizar este componente nos testes automatizados.

Como utilizar o componente

O componente Toggle pode ser importado em outros arquivos JavaScript/TypeScript da seguinte forma:
import { Toggle } from './caminho/para/o/componente';


Para utilizar o componente, basta adicioná-lo ao código JSX, como no exemplo abaixo:
<Toggle isChecked={true} onChangeChecked={handleToggle} testID="toggle-button" />


Propriedades do componente

isChecked

O valor booleano que indica se o botão está ligado ou desligado. O valor padrão é false.
<Toggle isChecked={true} onChangeChecked={handleToggle} />


onChangeChecked

A função que será chamada quando o botão for pressionado. Ela recebe um único parâmetro, que é o novo valor do botão (booleano).
<Toggle isChecked={true} onChangeChecked={handleToggle} />


testID

O identificador de teste que pode ser usado para localizar este componente nos testes automatizados.
<Toggle isChecked={true} onChangeChecked={handleToggle} testID="toggle-button" />


Funcionamento do componente

O componente Toggle utiliza a biblioteca react-native para criar uma animação de transição quando o botão é pressionado. Quando o botão está ligado, a animação move o controle deslizante para a direita. Quando o botão está desligado, a animação move o controle deslizante para a esquerda.
A propriedade isChecked determina se o botão está ligado ou desligado. Quando essa propriedade é alterada, o componente chama a função handleAnimationToggle para atualizar a animação do controle deslizante.
A propriedade onChangeChecked é chamada sempre que o botão é pressionado. Essa função deve ser definida pelo usuário do componente e deve atualizar o estado do componente de acordo com o novo valor do botão. Quando o estado é atualizado, a propriedade isChecked é atualizada, e a animação do controle deslizante é atualizada também.

Exemplo completo

import React, { useState } from 'react';
import { View, Text } from 'react-native';
import { Toggle } from './caminho/para/o/componente';

const App = () => {
const [isEnabled, setIsEnabled] = useState(false);

const handleToggle = (value) => {
setIsEnabled(value);
};

return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>{isEnabled ? 'Ligado' : 'Desligado'}</Text>
<Toggle isChecked={isEnabled} onChangeChecked={handleToggle} testID="toggle-button" />
</View>
);
};

export default App;
Screenshot from 2023-04-28 15-17-06.png
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.