父传子
通过props传递
- 共同的数据放在父组件上, 特有的数据放在自己组件内部(state)
- 一般数据–>父组件传递数据给子组件–>子组件读取数据
- 函数数据–>子组件传递数据给父组件–>子组件调用函数
- 问题: 多层传递属性麻烦, 兄弟组件通信不方便
通过ref
在input中进行ref标记,并调用
子传父
在父组件定义函数,传递给子组件,子组件调用
问题:需要在子组件中改变父组件的状态
子组件中不能直接改变父组件的状态
状态在哪个组件,更新状态的行为就应该在哪个组件
解决:在父组件定义函数,传递给子组件,子组件调用
在父组件中定义函数
在子组件中调用
通过ref
使用ref获取子组件的内容
通过事件对象
子与子
把数据都挂载父组件上
bus
vue中的bus
使用bus 空载实例
- 声明使用bus.on
- 调用使用bus.$emit
react中的bus
-
新建bus/index.js
-
注册
-
使用
爷传孙
Context 基于对象,注册的是数据
而bus是基于公共方法
https://react.docschina.org/docs/context.html
-
新建context/index.js
-
爷组件中引入,创建上下文,作为数据提供者 并依赖注入
- 在孙组件使用