connect串联model跟组件;connect这个函数本身可以传参,映射store的属性;
connect() 接收四个参数,它们分别是mapStateToProps , mapDispatchToProps , mergeProps 和 options。
const mapStateToProps = (state)=>{return {num:state.num;} }
export default connect(mapStateToProps)(组件名称)
state是model的state,项目开发中会直接解构;比如:
export default connect(({num,login})=>({num,login}))(组件名称)
@connect(({num,login})=>({num,login}))
两种写法意义是一样的,都是串联model跟组件;不同点:
- 前者是在函数组件中使用,后者是在类组件用,主要是因为函数组件内不能用@修饰器;
- 写的位置;前者是写在最后面,后者写在class类前
用的时候你会发现页面有警