react hooks组件间的传值方式(使用ts)

父传子

通过props传值,使用useState来控制state的状态值

父组件 Father.tsx里:
react hooks组件间的传值方式(使用ts)_第1张图片
子组件 Child.tsx里:
react hooks组件间的传值方式(使用ts)_第2张图片

展示效果:
react hooks组件间的传值方式(使用ts)_第3张图片

子传父

跟react的方式一样,像子组件传入回调函数,通过接收子组件的返回值,再去更新父组件的state

父组件,Father.tsx里:
react hooks组件间的传值方式(使用ts)_第4张图片
子组件,Child.tsx里:
react hooks组件间的传值方式(使用ts)_第5张图片
展示效果:
react hooks组件间的传值方式(使用ts)_第6张图片

子传父优化版,使用useCallback存放处理事件的函数

父组件,Father.tsx里:
react hooks组件间的传值方式(使用ts)_第7张图片
子组件,Child.tsx里:
react hooks组件间的传值方式(使用ts)_第8张图片

跨级组件(父传后代)

使用useContext传值,跟React的Context类似

使用步骤:

  1. 创建context
  2. 使用context.provider关联需要传值的组件
  3. 引入context,和useContext并获取值

父组件,Father.tsx里:
react hooks组件间的传值方式(使用ts)_第9张图片
子组件,Child.tsx里:
react hooks组件间的传值方式(使用ts)_第10张图片
孙子组件,Sun.tsx里:
react hooks组件间的传值方式(使用ts)_第11张图片
展示效果
react hooks组件间的传值方式(使用ts)_第12张图片

你可能感兴趣的:(react)