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

152
Visualizações
Gestión de estado en NextJS

He buscado en Internet la solución a esto, pero todavía no he encontrado una que funcione. He probado las siguientes herramientas de gestión de estado:

  • useContext
  • redux
  • zustand
  • Retroceso

Quiero que mi sitio NextJS actualice un valor en cada página cuando hago clic en un botón simple. En este momento estoy usando Recoil, ya que lo he encontrado como una de las herramientas de administración de estado más fáciles hasta ahora.

Esta es mi _app.js

 function MyApp({ Component, pageProps }) { return ( <RecoilRoot> < Component {...pageProps} /> </RecoilRoot> ) }

Este es index.js :

 export default function Home() { const [city, setCity] = useRecoilState(cityState) return ( <> <h1>{city}</h1> <button onClick={() => setCity("paris")}>click</button> </> ); }

esta es la pagina 2

 export default function SecondPage() { const [city, setCity] = useRecoilState(cityState) return ( <> <h1>{city}</h1> </> ); }

./state/state.js

 export const cityState = atom({ key: "cityState", default: "moscow" })

Cuando hago clic en el botón de cambio en index.js , simplemente quiero que cambie para SecondPage y todas las páginas donde hago referencia al estado almacenado en state.js . En este momento cambia en index.js pero SecondPage permanece como "moscow". Quiero que se actualice cuando se haga clic en el botón de índice.

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

0

No sé cómo es la estructura de su código, pero creo que su opción más fácil es React Context API. Pongamos un ejemplo para una mejor explicación;

Su secuencia de comandos de contexto:

 import React, { createContext, useState } from "react"; export const GlobalContext = createContext(); // you can set a default value inside createContext if you want export default function ContextProvider({ children }) { const [city, setCity] = useState("moscow") return ( <GlobalContext.Provider value={[city, setCity]}> {children} </GlobalContext.Provider> ); }

Su archivo _app.js :

 import ContextProvider from "your_directory" function MyApp({ Component, pageProps }) { return ( <ContextProvider> < Component {...pageProps} /> </ContextProvider> ) }

archivo index.js :

 import ContextProvider, {GlobalContext} from 'your directory' export default function Home() { const [city, setCity] = useContext(GlobalContext) return ( <> <h1>{city}</h1> <button onClick={() => setCity("paris")}>click</button> </> ); }

Su guión para la página 2:

 import ContextProvider, {GlobalContext} from 'your directory' export default function SecondPage() { const [city] = useContext(GlobalContext) return ( <> <h1>{city}</h1> </> ); }
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