1. createContext
  2. createContext(defaultValue)
  3. useContext hook
  4. XXXContext.Provider value