2.14 Context向组件深层传递数据

一、Context向组件深层传递数据

  1. 通常来说,可以通过props将信息从父组件传递到子组件,但如果必须通过很多中间组件向下传递peops,或者在许多组件中需要用到相同的信息,传递props会变得十分冗长和不便

  2. Context允许父组件向其下层无论多深的组件爱你提供信息,二无需通过props显示传递

  3. 通过createContext向下传递,子孙组件通过useContext接收

    import { createContext, useContext } from 'react'
    
    // 参数是默认值,
    const Context = createContext(0)
    
    function App() {
      return (
        <>
          <div>Default Template</div>
          {/* 通过.标记写法,value是固定的,可传递数组,对象等等。如果不写.标记标签,接收默认值*/}
          <Context.Provider value={1234}>
            <Head />
          </Context.Provider>
        </>
      )
    }
    
    function Head() {
      return (
        <>
          <div>Head</div>
          <Title />
        </>
      )
    }
    
    function Title() {
      const value = useContext(Context)
      return (
        <>
          <div>Title, {value}</div>
        </>
      )
    }
    
    export default App
    

最后更新于