enalidade de desempenho na criação de manipuladores em cada renderizaç

Atualmente, estou muito impressionado com os casos de uso do novo react hooks API e o que você pode fazer com el

Uma pergunta que surgiu durante a experimentação foi o quão caro é sempre criar uma nova função de manipulador apenas para jogá-la fora ao usar ouseCallback.

Considerando este exemplo:

const MyCounter = ({initial}) => {
    const [count, setCount] = useState(initial);

    const increase = useCallback(() => setCount(count => count + 1), [setCount]);
    const decrease = useCallback(() => setCount(count => count > 0 ? count - 1 : 0), [setCount]);

    return (
        <div className="counter">
            <p>The count is {count}.</p>
            <button onClick={decrease} disabled={count === 0}> - </button>
            <button onClick={increase}> + </button>
        </div>
    );
};

Embora eu esteja envolvendo o manipulador em umuseCallback para evitar passar um novo manipulador toda vez que ela renderizar a função de seta embutida ainda precisa ser criada apenas para ser descartada na maioria das veze

Provavelmente não é grande coisa se eu renderizar apenas alguns componentes. Mas qual o tamanho do impacto no desempenho se eu fizer isso milhares de vezes? Existe uma penalidade de desempenho perceptível? E qual seria uma maneira de evitá-lo? Provavelmente uma fábrica de manipuladores estáticos que só é chamada quando um novo manipulador precisa ser criado?

questionAnswers(3)

yourAnswerToTheQuestion