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

165
Visualizações
no se puede actualizar el objeto usando ganchos en reaccionar

Tengo una función que actualizará el valor de mi objeto según el nombre de la aplicación usando el gancho useState. Pero no puedo usar el gancho, da un error de llamada de gancho no válida.

Cualquier otra forma de lograr lo mismo también funcionará.

 var myfun = (function() { const APP_NAME= "sample app" const [object, setObject] = useState({obj: 'value'}) if(APP_NAME =="sample app") { setObject({obj:'new value'}) console.log('here') } return object }); myfun();
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Cree un gancho personalizado en lugar de esa función:

 const useMyFun = () => { const [object, setObject] = useState({obj: 'value'}); const APP_NAME = 'sample name'; useEffect(() => { if (APP_NAME === 'sample name') setObject({obj: APP_NAME}); }, [APP_NAME]); return object; } // In the component you need it: const SomeComponent = () => { // will update if state changes in the useMyFun Hook; const appname = useMyFun(); // rest of your component code ... }

asegúrese de usar componentes funcionales para usar esto.

NOTA: pero esto solo será útil si APP_NAME alguna vez cambia. de lo contrario, podría usar un operador ternario simple:

 const object = APP_NAME === 'sample name' ? {obj: APP_NAME} : {obj: 'value'}
about 4 years ago · Juan Pablo Isaza Relatório

0

Intente mover la llamada de gancho fuera de la función de esta manera y el error de llamada de gancho no válido desaparecerá, creo:

 import React from "react"; import { useState } from "react"; function App() { const [object, setObject] = useState({ obj: "value" }); const myfun = () => { const APP_NAME = "sample app"; if (APP_NAME === "sample app") { setObject({ obj: "new value" }); console.log("here"); } return object; }; myfun(); return ( .... ); } export default App;

Espero que esto te ayude .

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