组件传值
父子传值:在父组件里的子组件标签上定义属性,在子组件里使用props接收。
子父传值:父组件给子组件传入一个方法,子组件接收这个方法,在对应的事件里触发接收到的方法,并且可以传参。子传父本质上来说就是通过观察者去触发了一个回调函数。
同级传值:在React框架中,当多个组件需要反映相同的变化数据,这时建议将共享状态提升到最近的共同父组件中去。一般我们将该操作称为状态提升。
祖孙传值:
类组件:通过context进行传值。在祖组件内引入context,使用context的provider方法包裹所有的子组件,再使用provider身上的value属性进行值的下发,在需要接受的孙组件内,引入一个context;使用contextType接收创建的context,然后就可以通过this.context拿到这个值。
函数组件:使用React的creatContext函数创建一个context对象,然后在应用的根组件中,使用context的provider组件提供context的值,最后使用useContext钩子函数接收context的值,并在函数中使用该值。