Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

149
Visualizações
React.memo is not working on state change

When I click an item for change only this state value. But then re-render rest item, although I use memo. How to prevent re-render rest items.

App.js

const App= ()=> {
  const [items, setItems] = useState({
   [`item-1`]: {
     h: 100,
     w: 100
  },
  [`item-2`]: {
     h: 200,
     w: 200
  }
  const changeProp = (d)=>{
   const getElement = d.currentTarget;
   const itemKey = getElement.getAttribute('data-key');

   const deepCopy = JSON.parse(JSON.stringify(items));
   deepCopy.[itemKey] ={
        h: rect.height,
        w: rect.width,
   }
   setItems(deepCopy);
  }
  const getItems = Object.entries(items);
  return (
    <div>
      { getItems.map( (d,i) => <Item data={d} key={i} changeProp={changeProp}/> ) }
    </div>
  );
}

Item.js

const Item = ({data, changeProp}) => {
 return (
        <div className="eachItem" id={getKey} data-key={getKey} onClick={e=>changeProp(e)}>
            item
        </div>
    );
}
export default memo(Item);

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda