React.memo

Isac
1 min readOct 29, 2018

Para evitarmos rerender em componentes que se mantenham com as mesmas propriedades e estado, tínhamos obrigatoriamente que utilizar um Class Component que implementava React.PureComponent ou ShouldComponentUpdate. Agora você poderá fazer o mesmo com componentes funcionais utilizando React.memo.

Dado um componente que recebe determinadas props e elas não são afetadas e alteradas, não faz sentido sempre darmos rerender neste componente. Assim, você poderá utilizar memo para ganhar performance e evitar renderizações desnecessárias.

Na computação, memoization é uma técnica de otimização usada principalmente para acelerar os programas de computador armazenando os resultados de chamadas de funções e retornando o resultado em cache quando as mesmas entradas ocorrem novamente.

Syntax

Memo é um higher order component, e você poderá utilizá-lo como wrapper em componentes já existentes.

A comparação ocorre somente no objeto props do seu componente. Caso queira controlar esta comparação, você pode passar uma função como segundo parâmetro. Se o retorno for true o rerender não irá ocorrer.

--

--