You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the normal way to load server data into a store.
175
+
The request starts when `period()` changes, the response reconciles into the same proxy by `id`, and rows that did not change keep their identity and their DOM.
176
+
[`isPending(() => table.length)`](/reference/solid-js/reactivity/is-pending) reports a refetch, [`refresh(table)`](/reference/solid-js/lifecycle-actions/refresh) re-asks, and a `Loading` boundary handles the first load.
177
+
Nothing else is needed.
178
+
179
+
Split the request into its own memo only when the response has more than one consumer that shapes it differently, or when a request-level policy must live on the request rather than on the data:
`rows` is where you attach request-level concerns: [`isPending(rows)`](/reference/solid-js/reactivity/is-pending) for the refetch indicator, [`refresh(rows)`](/reference/solid-js/lifecycle-actions/refresh) to re-ask, a second consumer that reads the same response.
179
-
`table` is where per-row tracking and reconciliation happen; when a new response lands, `rows` changes once and the store diffs it once.
180
-
The line between them is the visible marker of where a request-level policy lives, and it is the shape the rest of the docs use when a fetch and a store appear together.
189
+
Here `rows` is fetched once and read twice.
190
+
Reach for this shape when you have that second reader; otherwise the one-line form is the right one.
0 commit comments