关于react组件之间的传值
1.首先是父子组件最基础的传值
父传子 采用props的格式
在父组件里引入的子组件上进行传值
子组件中采用this.props.xx的方式获取
子传父 通过在父组件引入的子组件中传递一个函数并传参,子组件去触发这个函数更改参数完成数据更新
2.通过redux或者react-redux的方式进行各个页面的数据传递
解决多个组件使用同一个数据的问题,即数据共享问题。
Store
全局数据源对象,负责与外部组件进行数据交互。
1.外部组件获取redux中的数据(store.getState), 然后把这个数据当做props渲染到组件中去。
2.外部组件更新redux中的数据(store.dispatch), 可以在jsx中调用此方法。
3.重新渲染外部组件(store.subscribe), 监视redux中state的变化。如果state有变化会自动调用组件中的render函数重新渲染页面。
State
数据存储对象,负责存储每个组件的当前数据。
1.外部组件想要获得当前state中的数据,需要通过调用store.getState
Action
消息通知对象,负责向Redux传递消息和必要的参数。
1.外部组件通过(store.dispatch)发送消息。
2.action对象中type字段是必须项,其他扩展字段不是必须项。比如({type:"men", age: "38"})
Reducer
逻辑处理对象,接到action消息做具体处理,生成新的state
1.通过(store.dispatch)实际调用的就是Reducer内部函数,发送action,执行reducer,返回state。
3.通过上下文的形式做组件传值
从react中引入
创建上下文
在父组件引入子组件的地方采用你刚才创建的上下文 通过一个值传递数据
最后 在你子组件里用就好啦