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

106
Visualizações
si un estado de uso contiene un objeto, ¿establecerlo en un objeto idéntico desencadena dependencias posteriores?
const [stuff, set_stuff] = useState{a: 1} ... set_stuff({a: 1})

cuando se set_stuff({a: 1}) , ¿activará dependencias posteriores que escuchan stuff ?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Si escuchan stuff , sí.

Si escuchan una propiedad de stuff que es igual al valor anterior en esa propiedad (como a y 1 ), no. Ejemplo:

 const App = () => { const [stuff, setStuff] = React.useState({a: 1}); React.useEffect(() => { console.log('Will trigger later because stuff changed'); }, [stuff]); React.useEffect(() => { console.log('Will not trigger later because stuff.a did not change'); }, [stuff.a]); React.useEffect(() => { setTimeout(() => { setStuff({ a: 1 }); }, 1000); }, []); return 'foo'; }; ReactDOM.render(<App />, document.querySelector('.react'));
 <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> <div class='react'></div>

about 4 years ago · Juan Pablo Isaza Relatório

0

React no hace la comparación profunda.

Si desea activar el cambio de valor, haga clic en Me gusta a continuación

 useEffect(() => { console.log('Something'); }, [stuff.a]);
about 4 years ago · Juan Pablo Isaza Relatório

0

Si escucha las stuff del objeto, desencadenará dependencias posteriores porque los dos objetos idénticos no son realmente idénticos en la computadora. Cuando set_stuff , simplemente cambiaste el valor de las stuff por un nuevo puntero de dirección.

 const stuffOne = {a: 1} const stuffTwo = {a: 1} console.log(stuffOne === stuffTwo) // false

about 4 years ago · Juan Pablo Isaza Relatório
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