Automatic tracking
Components update for the fields they actually read.
State that follows your reads
A Zustand-style store with automatic render tracking and cached computed state built in. Start local; move the same model into workers or shared tabs later.
$ npm install coaction @coaction/reactconst store = create((set) => ({
count: 0,
get doubled() {
return this.count * 2
},
increment() {
set(() => this.count++)
}
}))Components update for the fields they actually read.
Getter dependencies are tracked and invalidated automatically.
Write mutable-looking code and receive immutable state.
Use an explicit JSON boundary for workers and shared tabs.