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

89
Visualizações
Gancho de reacción que no activa la re-renderización con estado booleano

Tengo un enlace personalizado con un estado de uso que contiene un valor booleano y una función que me permite actualizar el estado. Esperaba que reaccionara para activar un renderizado basado en el nuevo valor, pero no pasa nada.

 import React, { useState, useEffect } from 'react'; function useHook() { const [value, setValue] = useState(false); const onClick = (v) => { setValue(v); }; return {value, onClick}; } const Switcher = () => { const {value, onClick} = useHook(); return <button onClick={() => onClick(!value)}>test</button>; }; export default function App() { const {value} = useHook(); useEffect(() => { console.log('effect', value); }, [value]); return ( <div> <h1>Hello StackBlitz!</h1> <p>result {JSON.stringify(value)}</p> <Switcher /> </div> ); }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Los ganchos son formas de reutilizar el comportamiento, no el estado . En otras palabras, está creando 2 estados de value cuando llama a useHook en App y Switcher, respectivamente. Si desea reutilizar el estado sin solo pasarlo a través de accesorios, deberá usar algo como redux o la API de contexto .

about 4 years ago · Juan Pablo Isaza Relatório

0

Tiene dos llamadas separadas a useHook que crea estados separados. Lo que quiere es un estado que se use en ambos componentes. Intente pasar value y onClick como accesorios a Switcher desde el componente principal de la siguiente manera:

 import React, { useState, useEffect } from 'react'; function useHook() { const [value, setValue] = useState(false); const onClick = (v) => { setValue(v); }; return {value, onClick}; } const Switcher = ({onClick, value}) => { return <button onClick={() => onClick(!value)}>test</button>; }; export default function App() { const {value, onClick} = useHook(); useEffect(() => { console.log('effect', value); }, [value]); return ( <div> <h1>Hello StackBlitz!</h1> <p>result {JSON.stringify(value)}</p> <Switcher onClick={onClick} value={value}/> </div> ); }
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