@mpocock1 Looks great Matt, keep it pushing :) I also wonder if there is some good way for handling nested states vs `state.matches()` call with TypeScript being able to check that. It could, in theory, generate all possible paths.
@kentcdodds idea for blog post how the useMemo doesn't provide semantic guarantee. I often keep running to snippets where people assume otherwise. That little notice in React docs is fairly invisible ... https://t.co/AcZO87tHEz
@kentcdodds Well, it does matter if store some state related value in there. I see it a lot with MobX observables actually. And I know it's not a real thing, but it's going to be hell to debug such random situation if we don't prepare for it now.
Can't stress this enough. Not all reconciliation is good. As a rule of thumb, you probably don't want to reuse a react tree for anything that has a different identity, even when it is structurally similar! As you might spill state over from one identity to the next
Why XState is different (according to them):
- Completely framework-agnostic
- Based on a W3C standard: https://t.co/ijq5TGTNNF
- Serializable logic
- Visualization
- Time-travel in the *future* (know which next states are possible)
- Absolutely no new nor invented ideas
To summarize: Recoil & MobX are similar: many, individual subscribable atoms (Redux has always one), enabling sideways comp updates + model that favors deriving & memoizing data. MobX offers higher level abstractions like maps and arrays based on atoms + transparent tracking
@portexe@dan_abramov If only "read" was enough. That person would need to evaluate importance, translate it to Dan and he would need to provide actual answer. Someone should make a SaaS like that :D
I want to remove peerDependencies from existence! This is from my small project, everything up to date and it's a total nightmare trying to track everything down.