Executando verificação de segurança...
1

Não tem como evitar a renderição, pois isso é o que vai atualizar a lista com os novos elementos, portanto, não acredito que seja "desnecessário." Se tiver pesado demais as renderizações devido a muitos elementos no carrinho, o que você pode fazer é usar useMemo ou useCallback. Nesse caso acredito que o useMemo se encaxaria melhor. O useMemo vai armazenar o resultado de uma função em cache, assim a lista só vai ser renderizada quando a lista de items mudar (clicar no botão de adicionar novos elementos no carrinho). Não sei se você tá renderizando a Lista utilizando map, é o useMemo mesmo o ideal. Vi que você já usa o memo, mas vale lembrar que existem diferenças chaves entre memo e useMemo.

Dito tudo isso, não tem como evitar as renderizações quando clica no botão, pois a lista precisa ser atualizada com os novos valores, mas da pra skipar renderizações adjacentes provocadas por outras coisas que não seja o "botão de adicionar novos produtos" com useMemo

Carregando publicação patrocinada...
2

É desnecessário visto que meus produtos que aparece na HOME são independentes dos produtos que estão no carrinho (context), quando eu adiciono um produto no carrinho, os meus produtos da HOME são re-renderizados novamentes, e isso tá dando um delay absurdo tanto de feedback que foi adicionado mais um produto quanto no restante do app..., vou estudar mais sobre a implementação do useCallback e useMemo, já utilizei os dois mas as re-renders continuaram, talvez seja alguma parte errada que eu esteja fazendo, ou realmente não tem uma forma de escapar disso, e por causa disso eu tenha que trocar a tech pra redux.