Document untrack behavior with uninitialized async reads (NotReady propagation)
Nessuno ha ancora preso questa issue.
- Lingua principale
- MDX
- Stelle
- 292
- Fork
- 361
- Merge medio
- 7h 51m
- PR unite (30g)
- 1
Descrizione
From solidjs/solid#3007 (reported by @mizulu).
The untrack reference page (https://v2.solidjs.com/reference/solid-js/reactivity/untrack) should document how untrack interacts with async reads in 2.0:
untrackstops dependency tracking — reads inside it do not subscribe the surrounding computation.- It does not opt out of async settlement. Reading an async source that is not yet ready inside
untrackstill throwsNotReadyError, which propagates to the owning computation: the owner suspends (participates inLoadingboundaries) and re-runs once the source first resolves.
In other words, untrack(() => getColor()) where getColor is a pending async memo will still cause the owner to re-run when getColor first settles — the read is untracked, but the not-ready suspension is part of async graph resolution, not tracking.
The page should spell out this distinction (tracking vs. settlement) and show the pattern for a genuinely non-suspending read of a possibly-pending source (e.g. checking readiness with isPending/latest as appropriate) so users aren't surprised that untrack alone doesn't provide a fallback-value escape hatch. A fallback-value overload for untrack was considered in solidjs/solid#3007 and rejected — the docs are the fix.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dalla pagina di riferimento di untrack collegata nell’issue e rivedi il comportamento di lettura asincrona descritto lì insieme al contesto di solidjs/solid#3007. Aggiorna la pagina per distinguere il tracciamento delle dipendenze dalla risoluzione di NotReady, spiegare la sospensione e la nuova esecuzione dell’owner e mostrare un controllo di disponibilità che non sospenda realmente usando isPending/latest.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript
- Ambito
- documentation
- Tipo di issue
- Documentazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Tranquilla
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 78/100