前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >react-redux

react-redux

作者头像
_kyle
发布2020-08-24 12:04:51
9640
发布2020-08-24 12:04:51
举报
文章被收录于专栏:kyle的专栏kyle的专栏

一、什么是react-redux

React-Redux是Redux的官方React绑定。 它允许您的React组件从Redux存储中读取数据,并将操作分派给存储以更新数据。 它由二个重要的部分组成,一个是<Provider />组件,另一个是connect()是react-redux提供的一个柯里化的函数, 用于连接redux

二、学习网址

https://react-redux.js.org/docs/getting-started react-redux官网

三、如何使用

npm install --save react-redux 安装 import { Provider } from 'react-redux' Provider 的引入 import { connect } from 'react-redux' connect的引入

四、关于Provider

Provider是react-redux提供的一个组件,把这个组件包在最外层,这个组件接收一个参数,就是store, store是通过redux提供的createStore方法创建的。任何一个内部组件,需要用到store里的state或者其它就直接通过connect一下即可。

代码语言:javascript
复制
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import App from './App';

import store from './store';
ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>, 
document.getElementById('root'));

五、关于connect

connect有两个括号, connect有两个括号,第一个括号传mapStateToProps和mapDispatchToProps,用于把这两个方法的返回值注入到当前组件的props, 第二个括号为当前组件。

代码语言:javascript
复制
export default connect(mapStateToProps, mapDispatchToProps)(Counter);

connect的第一个括号也可以直接传(mapStateToProps, actionCreators), actionsCreators里的每个creator就会被映射到组件的props上,并且,这些creators就自动具备了dispatch的功能

代码语言:javascript
复制
export default connect(mapStateToProps, { add, reduce, addAsync })(Counter);

mapStateToProps: 意思是把store里的state迁移到当前组件的props上,返回一个对象

代码语言:javascript
复制
// mapStateToProps,意思是把store里的state迁移到当前组件的props上,返回一个对象
const mapStateToProps = (state) => {
  const {
    count,
    isLoading
  } = state.cart;
  return {
    count,
    isLoading
  }
}

mapStateToProps: 意思是把actionCreator里创建的action dispatch,并且做为一个方法映射到当前组件的props上,返回一个对象. 可以不这样用

代码语言:javascript
复制
const mapDispatchToProps = (dispatch) => {
  return {
    reduceCount: () => {
      dispatch(reduce())
    },
    addCount: () => {
      dispatch(add())
    }
  }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是react-redux
  • 二、学习网址
  • 三、如何使用
  • 四、关于Provider
  • 五、关于connect
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档