1
resposta

como a função "aoPressionar" do FlatList funciona?

Nas aula 3 - Navegando para o Produtor, na atividade 3 - Navegando para o Produtor, ela usa uma função do FlatList dela que se chama aoPressionar, que se encontra na pasta src/telas/Produtores/index.js. ela é uma função que ela criou? Como q eu faço essa função pra utilizar ela?

1 resposta

Olá, Carla, tudo bem? Agradeço por participar do fórum e trazer suas dúvidas sobre a função "aoPressionar" do FlatList utilizada no curso React Native: criando menu e navegando entre telas.

A função "aoPressionar" não é uma função padrão do FlatList do React Native. Na verdade, ela é uma função criada pela instrutora do curso. Essa função foi adicionada para responder ao evento de pressionar um item da lista. Logo, estamos mandando essa função por parâmetro para dentro do componente.

A função aoPresionar vai ser a seguinte:

aoPressionar={() => setQuantidade(i + 1)}

Ela vai ter o comportamento de inserir um na quantidade total toda vez que for chamada.

export default function Estrela({
    aoPressionar,
    desabilitada = true,
    preenchida,
    grande = false,
}) {
    const estilos = estilosFuncao(grande);

    const getImagem = () => {
        if (preenchida) {
            return estrela;
        }
        return estrelaCinza;
    }

    return <TouchableOpacity
            onPress={aoPressionar}
            disabled={desabilitada}
            >
            <Image source={getImagem()} style={estilos.estrela} />
        </TouchableOpacity>
}

Olhando o código do componente Estrela, podemos ver que a variável que a instrutora passa como aoPressionar, está sendo inserida na função onPress do TouchableOpacity. Logo, toda vez que alguém apertar nesse botão, irá acionar a função aoPressionar de aumentar a quantidade. Resumindo, estamos mandando essa função por parâmetro para o componente.

Espero que tenha ajudado e qualquer coisa estou por aqui Bons estudos!!