Common questions asked about Solid and its ecosystem, by Brendonovich.

Table of Contents

Solid

What’s the difference between signals and stores?

Signals store a single value. When a signal is updated, everything that depends on it will re-run.

Stores wrap objects and arrays and make all of their entries reactive. When updating a store entry, only things that depend on that specific entry re-run, unlike a signal that will re-run all of its dependents. This works with any combination of nested arrays and objects, effectively turning each object property and array item into its own signal.

Solid Router

How do I animate between routes?

My preferred way of doing this is by wrapping props.children in a layout of the routes in Transition from solid-transition-group. An example of this is here in Mattrax, where we have a fade transition between all routes in the (flow) route group. This approach works best when each route creates its own container element. Routes wrapped by another layout lower down will need their own Transition in that sub-layout, and a route returning multiple elements inside a fragment may not work properly.

Solid Start

I refer to app.config.ts using path syntax to represent nested fields, ie. ‘set server.preset to node-server' should result in your config looking something like:

{
	server: {
		preset: "node-server"
	}
}

What does Start provide?