State is shared between components that don’t have a parent/child relationship • State changes are reflected outside the component where they are triggered, or are paired with asynchronous functions • Following how your state changes is opaque, and a step-through/undo history is necessary to understand it • Props are passed down the component tree liberally, including through places they aren’t used