React-redux学习

本文介绍了React-Redux中的关键API——Provider和connect。Provider组件用于向子组件提供Redux store,使它们能够访问全局状态。而connect函数则用于连接Redux的state和actions到React组件,通过mapStateToProps和mapDispatchToProps映射相关状态和方法到组件的props,方便组件直接使用。
摘要由CSDN通过智能技术生成

React-redux

react-redux提供了了两个api

1. Provider 为后代组件提供store.

 例子:将redux store中的值传入react组件   

import {Provider} from "react-redux"; 
 <Provider store={store}>
    <App />
 </Provider>

2. connect 为组件提供数据和变更方法.
   将映射后的状态和方法注入到组件的props上,组件中就可以通过this.props.xx拿到想要的状态和方法了。
   connect(mapStateToProps,mapDispatcjToProps)(注入的组件)
   mapStateToProps: redux状态和组件状态的映射
   mapDispatchToProps:redux方法和组件方法的映射

import React, { Component } from "react";
import { connect } from "react-redux";

class ReactReduxPage extends Component {
    render() {
      const { num, add } = this.props;
      return (
        <div>
          <h3>ReactReduxPage</h3>
          <p>{num}</p>
          {/*<button onClick={() => this.props.dispatch({ type: "ADD" })}>add</button>*/} 
           <button onClick={add}>add</button>
        </div>
      );
    }
  }

  const mapStateToProps = state => {
     return {
        num: state,
       };
    };
   const mapDispatchToProps = {
        add: () => {
        return { type: "add" };
        }
    };

  export default connect(
      //mapStateToProps 把state映射到props
      state => ({ num: state }),
    
      //mapDispatchToProps 把dispatch映射到props
      {
        add: () => ({ type: "ADD" })
      }
    )(ReactReduxPage);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值