React-记connect的几种写法
第一种
最普通,最常见,delllee和官网第写法。
import React, { Component } from 'react';
import {connect} from 'react-redux';
import { Button } from 'antd-mobile';
import { addGunAction , removeGunAction , removeGunAsync}from './store/actionCreators'
class App extends Component {
render() {
console.log();
return (
<div className="App">
<p>{this.props.gun}</p>
<Button type="ghost" size="small" inline onClick={this.props.handeladd}>+</Button>
<Button type="ghost" size="small" inline onClick={this.props.handeljian}>-</Button>
<Button type="ghost" size="small" inline onClick={this.props.handelmanjian}>慢-</Button>
</div>
);
}
}
const mapStateToProps=(state)=>({
gun:state.gun
})
const mapDispachToProps=(dispatch)=>({
handeladd(){
dispatch(addGunAction())
},
handeljian(){
dispatch(removeGunAction())
},
handelmanjian(){
dispatch(removeGunAsync())
}
})
export default connect(mapStateToProps,mapDispachToProps)(App);
第二种
初次接触,感觉有点绕,不太好理解,为什么点击了,直接就派发action了?
import React, { Component } from 'react';
import {connect} from 'react-redux';
import { Button } from 'antd-mobile';
import { addGunAction , removeGunAction , removeGunAsync}from './store/actionCreators'
class App extends Component {
render() {
console.log();
return (
<div className="App">
<p>{this.props.gun}</p>
{/*⚠️不用像第一种那样,点击调用一个方法,方法里再派发action
这种直接点击派发action就可以*/}
<Button type="ghost" size="small" inline onClick={this.props.addGunAction}>+</Button>
<Button type="ghost" size="small" inline onClick={this.props.removeGunAction}>-</Button>
<Button type="ghost" size="small" inline onClick={this.props.removeGunAsync}>慢-</Button>
</div>
);
}
}
const mapStateToProps=(state,ownProps)=>({
gun:state.gun
})
//⚠️这些action已经自动有了dispatch的功能
const actionCreators={ addGunAction , removeGunAction , removeGunAsync}
export default connect(mapStateToProps,actionCreators)(App);
React-记connect的几种写法的更多相关文章
- react绑定事件的几种写法
方法一:最麻烦的写法,不推荐 import React from 'react'; class App extends React.Component { handleClick() { alert( ...
- 总结 React 组件的三种写法 及最佳实践 [涨经验]
React 专注于 view 层,组件化则是 React 的基础,也是其核心理念之一,一个完整的应用将由一个个独立的组件拼装而成. 截至目前 React 已经更新到 v15.4.2,由于 ES6 的普 ...
- 总结 React 组件的三种写法 及最佳实践
React 专注于 view 层,组件化则是 React 的基础,也是其核心理念之一,一个完整的应用将由一个个独立的组件拼装而成. 截至目前 React 已经更新到 v15.4.2,由于 ES6 的普 ...
- React给state赋值的两种写法
如果你看过React的官方文档,就会对怎么给局部state赋值有一定的了解.如下代码: class Test extends React.Component { constructor(props) ...
- react - 解刨组件的多种写法
一,原始的createClass写法 对于写react组件,很多人第一印象往往是createClass,这是因为createClass是react组件最原始的写法,基本每个学react的人都是接触这种 ...
- display 的 32 种写法
从大的分类来讲, display的 32种写法可以分为 6个大类,再加上 1个全局类,一共是 7大类: 外部值 内部值 列表值 属性值 显示值 混合值 全局值 外部值 所谓外部值,就是说这些值只会直接 ...
- [0413] FFTSHIFT的四种写法
FFTSHIFT的四种写法 前言 matlab说,"你读过书,--我便考你一考.fftshift的函数,怎样写的?"我想,讨饭一样的人,也配考我么?便回过脸去,不再理会.matla ...
- Python中斐波那契数列的四种写法
在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,“你学过数据结构吗?”我略略点一点头 ...
- React组件Components的两种表示方式
函数式的表示: function Welcome(props) { return <h1>Hello, {props.name}</h1>; } Class式的表示: clas ...
随机推荐
- 小米手机Toast显示带应用名称问题解决方法
近期为了适配刘海屏,向公司申购了一步小米8的手机,然后测试人员那边测出来一堆适配的问题,其中有一个每一个Toast会显示app的名称+显示的内容,然后网上查找了一下解决方法记录一下,顺便封装了Toas ...
- (网页)parseFloat在工作中遇到的错误
parseFloat(23.23) == parseFloat(23.2299999999999).toFixed(2) 类似与以上的代码,展示没什么问题,一旦比较,看展示相等其实不相等,小数位的问题 ...
- (网页)html中页面传递参数不用cookie不用缓存,js方法搞定
function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...
- springmvc复习笔记----springmvc姓名年龄例子:RequestParam 试水
继续 继上节http://www.cnblogs.com/tk55/p/6652394.html 重要部分颜色突出 结构 包 web.xml 乱码处理方面设置 <url-pattern>* ...
- java笔记----线程状态转换函数
注意:stop().suspend()和 resume()方法现在已经不提倡使用,这些方法在虚拟机中可能引起“死锁”现象.suspend()和 resume()方法的替代方法是 wait()和 sle ...
- java开发基础知识学习
java环境配置 classpath: .当前目录 path: java 命令所在目录 jdk安装目录 jdk/bin jre安装目录 jre/bin 安装JDK后配置环境变量如下: 安装过程用到了j ...
- js 实现动态时间
<span id="timebox"></span> //承载时间的span $(function () { var o ...
- MySQL数据库有哪些安全相关的参数需要修改?
https://dev.mysql.com/doc/refman/5.7/en/security-options.htmlhttps://dev.mysql.com/doc/refman/5.7/en ...
- c/c++ lambda 表达式 剖析
lambda 表达式 剖析 大前提:捕获列表里变量的确定时机. 捕获列表和参数列表有区别,捕获列表里的变量,是在捕获的时间点就确定了,而不是在lambda调用时确定,参数列表是在调用时才确定.所以当捕 ...
- 数据挖掘---Pandas的学习
Pandas介绍(panel + data + analysis) 为什么使用Pandas 便捷的数据处理能力 读取文件方便 封装了Matplotlib.Nu ...