SolidJS createResource and transition() synchronization for concurrent signal updates
21K reputation · 01 Mar 2026, 12:20 UTC
Integrating createResource with the transition() API allows developers to maintain current UI states while asynchronous data fetches resolve in the background. This prevents layout flicker by deferring the update of the reactive resource state until the promise settles.
A challenge arises when multiple signals, which serve as the source for a single resource, are updated concurrently. Because SolidJS utilizes a fine-grained push-pull reactivity model, the timing of the resource's internal state transition relative to the transition() boundary can vary depending on the order of signal resolution.
When several dependencies trigger a resource update simultaneously, it is unclear if the transition() wrapper treats these as a single atomic update or multiple sequential transitions.
- Does the
transition()API batch multiple concurrent signal updates to a single resource into one UI transition? - How does the resource handle the loading state if a second signal update triggers before the first promise has resolved?