今天想跟大家分享一下redux在react项目中的简单使用 1 
1.redux使用相关的安装
yarn add redux
yarn add react-redux(连接react和redux) 2. redux在项目中的基础使用 1.在index.js入口文件注入store
import { Provider } from "react-redux"
import store from "./redux/store"
ReactDOM.render(
<Provider store={ store }>
<App />
</Provider>,
document.getElementById("root")
) 2.新建一个store文件夹,新建store.js和reducers.js文件 3.在store.js文件中书写以下代码
import { createStore} from "redux"
import reducers from "./reducers"
const store = createStore(reducers);
export default store 4.在reducer.js文件中书写以下代码
const defaultState = {
list:[]
}
export default (state=defaultState, action)=>{
if(action.type === 'add'){
return {
list:[...state.list,action.payload]
}
}
return state
} 5.如何在子组件中使用store(直接引入store.js也可以,但不推荐)
import { connect } from "react-redux"
const mapState = (state)=>{
return {
//获取store中的值,将list注入组件的props中
list:state.list
}
}
const mapDispatch = (dispatch)=>{
return {
//返回一个add方法,将其注入组件的props中,组件可直接通过this.props.add()调用
add(){
dispatch({
type:'add',
payload:'ldc'
})
}
}
}
//connect执行完后返回的是一个高阶组件,再将Home注入强化
export default connect(mapState,mapDispatch)(Home) 6.在组件中调用
<ul>
{
this.props.list.map((val,index)=>{
return <li key={index}>{val}</li>
})
}
</ul>
<button onClick={this.props.add}>ADD</button> 7.这样简单的redux在项目中使用就完成了

redux在react项目中的应用的更多相关文章

  1. 如何在非 React 项目中使用 Redux

    本文作者:胡子大哈 原文链接:https://scriptoj.com/topic/178/如何在非-react-项目中使用-redux 转载请注明出处,保留原文链接和作者信息. 目录 1.前言 2. ...

  2. 如何优雅地在React项目中使用Redux

    前言 或许你当前的项目还没有到应用Redux的程度,但提前了解一下也没有坏处,本文不会安利大家使用Redux 概念 首先我们会用到哪些框架和工具呢? React UI框架 Redux 状态管理工具,与 ...

  3. 优雅的在React项目中使用Redux

    概念 首先我们会用到哪些框架和工具呢? React UI框架 Redux 状态管理工具,与React没有任何关系,其他UI框架也可以使用Redux react-redux React插件,作用:方便在 ...

  4. react项目中引入了redux后js控制路由跳转方案

    如果你的项目中并没有用到redux,那本文你可以忽略 问题引入 纯粹的单页面react应用中,通过this.props.history.push('/list')就可以进行路由跳转,但是加上了redu ...

  5. 深入浅出TypeScript(5)- 在React项目中使用TypeScript

    前言 在第二小节中,我们讨论了利用TypeScript创建Web项目的实现,在本下节,我们讨论一下如何结合React创建一个具备TypeScript类型的应用项目. 准备 Webpack配置在第二小节 ...

  6. react项目中实现元素的拖动和缩放实例

    在react项目中实现此功能可借助 react-rnd 库,文档地址:https://github.com/bokuweb/react-rnd#Screenshot .下面是实例运用: import ...

  7. React项目中实现右键自定义菜单

    最近在react项目中需要实现一个,右键自定义菜单功能.找了找发现纯react项目里没有什么工具可以实现这样的功能,所以在网上搜了搜相关资料.下面我会附上完整的组件代码. (注:以下代码非本人原创,具 ...

  8. React项目中使用Mobx状态管理(二)

    并上一节使用的是普通的数据状态管理,不过官方推荐使用装饰器模式,而在默认的react项目中是不支持装饰器的,需要手动启用. 官方参考 一.添加配置 官方提供了四种方法, 方法一.使用TypeScrip ...

  9. 在react项目中使用ECharts

    这里我们要在自己搭建的react项目中使用ECharts,我们可以在ECharts官网上看到有一种方式是在 webpack 中使用 ECharts,我们需要的就是这种方法. 我们在使用ECharts之 ...

随机推荐

  1. java排序及泛型

    一.用泛型实现快排,可以传入不通类型进行排序,比如String数组,Integer数组. /** * 快速排序 * * @author chx * */ public class QuickSort ...

  2. Bootstrap 附加导航(Affix)插件

    附加导航(Affix)插件允许指定 <div> 固定在页面的某个位置.一个常见的例子是社交图标.它们将在某个位置开始,但当页面点击某个标记,该 <div> 会锁定在某个位置,不 ...

  3. Es567严格模式

    Es5 严格模式 http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html 除了正常运行模式(混杂模式),ES5添加了第二种 ...

  4. 【JZOJ5433】图

    description 有一个n个点A+B条边的无向连通图,有一变量x,每条边的权值都是一个关于x的简单多项式,其中有A条边的权值是k+x,另外B条边的权值是k-x,如果只保留权值形如k+x的边,那么 ...

  5. 启动web项目,监听器、过滤器、拦截器启动顺序

    启动顺序:监听器 > 过滤器 > 拦截器 记忆技巧:接到命令,监听电报,过滤敌情,拦截行动.

  6. layui弹框文件导入

    lr.ajax({ type : "post", data :formFile, url : importUrl, contentType: false,// 且已经声明了属性en ...

  7. js日常总结

    1.html如何引入css和js文件 css:<link rel="stylesheet" href="css/index1.css(这是我的文件的地址)" ...

  8. SpringCloud学习笔记(七):Hystrix断路器

    概述 什么时候需要断路器?熔断? 举个简单的例子:小明喜欢小美,可是小美没有电话,小美给了小明家里的座机,小明打给座机,这个时候小美的妈妈接到了,小明怕妈妈知道自己喜欢小美,就跟小美妈妈说让小美哥接电 ...

  9. SpringCloud学习笔记《---01 概念 ---》篇

  10. 创建 linuxrc 文件

    创建 linuxrc,加入如下内容: [arm@localhost my_rootfs]#vi linuxrc #!/bin/sh #挂载/etc 为 ramfs, 并从/mnt/etc 下拷贝文件到 ...