[storage] signal is not updated during hydration when doing SSR or SSG
@atk ya está trabajando en esto.
Desde el 8/9/2024.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Describe The Problem To Be Solved
Reproduce by creating a new solid-start project from the bare template with SSR and change the line in Counter.tsx to:
const [count, setCount] = makePersisted(createSignal(0));
(Sorry I couldn't find a stackblitz template with solid-start.)
If you increase the counter and then reload the page, the counter isn't rendered and you get in the console:
Counter.tsx:7 Unable to find DOM nodes for hydration key: 0-0-0-0-0-0-0-0-0-1-0-0-0-0-2-1-0-0-2-1
Similarly, using Astro's client:load directive (which does server-side render or generate the HTML in SSG-mode), on page-load the counter is always 0.
Suggest A Solution
While it's unavoidable that the initial HTML contains 0 (since we cannot know the value of localStorage on the server), ideally storage would update the signal during or after hydration to read out the value from localStorage.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.6k
- Forks
- 162
- Merge medio
- 19 h 40 min
- PR fusionados (30 d)
- 8
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de solidjs-community/solid-primitives
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
solidjs-community/solid-primitives#1059 · 1 comentario ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
solidjs-community/solid-primitives#1000 · 3 comentarios · 5 reacciones ·
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Todos los issues de solidjs-community/solid-primitives
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
bcgov/bc-wallet-mobile#4761 · 1 comentario ·
-
external-issue to-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
area-deployment area-integrations triage:bot-seen
Dificultad 2/5 Medio día Aptitud para principiantes 86/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100