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 ...
随机推荐
- 小程序实践(六):view内部组件排版
涉及知识点: 1.垂直排列,水平排列 2.居中对齐 示例: 1.默认排版 , 一个父组件里面两个子view 显示效果: 2.先给父view设置一个高度和颜色值,用于看效果 3.实现水平排列和垂直排列的 ...
- 章节七、4-Sets
一.set中不允许存在相同的元素 package ZangJie7; import java.util.ArrayList; import java.util.HashSet; import java ...
- 章节三、5-Getters-Setters和this关键字part01
我们新建第一个Car类: package introduction; public class Car { //颜色 private String color; //生成商 private Strin ...
- 设计模式—桥接模式的C++实现
这是Bwar在2009年写的设计模式C++实现,代码均可编译可运行,一直存在自己的电脑里,曾经在团队技术分享中分享过,现搬到线上来. 1. 装饰模式简述 1.1 目的 将抽象部分与它的实现部分分离,使 ...
- ajax请求经典格式
$.ajax({ url: url, type: "POST", dataType: "json", data: data, success: funtion1 ...
- 标注的SQL拼接语句
方案一 exec sp_executesql N' SELECT T0.[WtmCode], T3.[opCode], T3.[opValue], T3.[CondId] FROM [dbo].[OW ...
- MyBatis笔记----报错Exception in thread "main" org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ij34.model.UserMapper.selectUser
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@41cf53f9: startup ...
- 自动化测试基础篇--Selenium中数据参数化之TXT
摘自https://www.cnblogs.com/sanzangTst/p/7722594.html 一.搜索参数化 在TXT文件中保存需要搜索的内容: 测试代码: 1 #!/usr/bin/env ...
- PATH_SEPARATOR
PATH_SEPARATOR是一个常量,在Linux系统中是一个" : "号,Windows上是一个";"号.所以编写程序时最好用常量 PATH_SEPARAT ...
- Ajax入门例子
在customer.php的文件中,代码如下: <html> <head> <script type="text/javascript"> fu ...