Por que usar Arrow Functions ou Bind em JSX Props é proibido
Ao usar React, é importante evitar usar arrow function ou ligação em adereços JSX. Essa prática pode levar a problemas de desempenho e comportamento incorreto.
Problemas de desempenho
O uso de funções de seta ou vinculação em adereços JSX força essas funções a serem recriadas em cada renderização. Isso significa que:
Comportamento incorreto
Considere o seguinte exemplo:
onClick={() => this.handleDelete(tile)}
Este código criará uma nova função em cada renderização, fazendo com que o React marque o componente como sujo e acione uma nova renderização. Mesmo que o suporte do bloco não tenha mudado, o componente será renderizado novamente porque a função da seta é diferente.
Práticas recomendadas
Para evitar essas armadilhas, use o seguindo as práticas recomendadas:
constructor(props) { super(props); this.handleDelete = this.handleDelete.bind(this); }
const handleDelete = tile => { // Handle delete logic };
Nota adicional:
É importante observar que as funções de seta funcionam perfeitamente quando usadas em outras partes do componente, como no método de renderização. No entanto, eles devem ser evitados ao atribuir manipuladores de eventos a adereços JSX.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3