> You always have to use setStore
This is a design choice, and explained in their docs:
Separating the read and write capabilities of a store provides a valuable
debugging advantage.
This separation facilitates the tracking and control of the components that
are accessing or changing the values.
> You need to learn its documentation. You always have to use setStore, and it has a weird syntax like `setStore("users", 2, "loggedIn", false)` and even pushing items to an array is weird.
It's optional, and incidentally quite expressive and powerful. But they also support mutable drafts out of the box.
import { produce } from 'solid';
setStore(produce(state => {
state.users[2]?.loggedIn = false;
}))