# Will assume knowledge of

# Will cover

Learn how to handle any situation where they want to handle complex props.

1. **Discriminated unions in props**

Think about how you solved `useReducer`.

1. **Destructuring discriminated unions**
1. **Discriminated unions with intersection**
1. Discriminated unions with defaults
1. **Discriminated unions with booleans**
1. **Empty object type**
1. **Exclusive properties on objects**
1. **Passing React Components vs React Nodes**
1. **Loose autocomplete**
1. **Intro to typeof keyof**
1. **Intro to as const and indexed access types**
1. **satisfies vs as vs ':'**
1. **Prop groups with as const, satisfies and `keyof typeof`**

# Won't cover

ComponentProps (covered earlier)
Intro to ReactNode (covered earlier)
Intro to type helpers (cover with generics)
Advanced AllOrNothing helper (covered in generics)
Advanced LooseAutocomplete helper (covered in generics)
Exhaustiveness checks with discriminated unions (cover in hooks)
Generic props (covered later)
Complex state (covered later)
Hooks (covered later)
