Basically, state is passed down, and events go up. Component A creates Component B, passing parts of A into B as immutable properties, and setting call-backs on B to call into A. Most components are re-created repeatedly.
- Data-flow is clear and consistent.
- Mutable state is isloated and minimal.
- The entire architecture is highly scalable.