首页 > 其他 > 详细

react 添加 react-redux 基本用法

时间:2019-12-13 18:07:36      阅读:117      评论:0      收藏:0      [点我收藏+]

安装

yarn add react-redux

创建文件、文件夹

|- redux
  |- actions.js
  |- reducer.js
  |- store.js

actions.js


export const change_user_info = "changeUserInfo"

export function ChangeUserInfo( data ){
  return {
    type: change_user_info,
    data: data
  }
}

reducer.js

import { change_user_info } from "./actions"

let storeState = {
  userInfo: null
}

export default function Store( state = storeState, actions ){

    switch( actions.type ){
        case change_user_info:
            return { ...state, userInfo: actions.data  }
        default:
            return state
    }
}

store.js

import { createStore } from 'redux'
import reducer from './reducer'
const store = createStore(reducer)
export default store

引入

import { Provider } from "react-redux"
import store from "./redux/index"

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

使用

// 在组件内 引入
import * as React from "react"
import { connect } from "react-redux"
import { changeUserInfo } from "@/redux/actions"

class Hello extends React.Component{ 
  
  // 使用方式
  // this.props.userInfo
  // this.props.changeUserInfo( data )
  ...
  // 省略
}

const mapStateToProps = ( state ) =>{
    return {
        userInfo: state.userInfo
    }
}

const mapActionsToProps = ( dispatch )=>{
    return {
        changeUserInfo: ( data )=>{
            dispatch( changeUserInfo( data ) )
        }
    }
}

export default connect( mapStateToProps, mapActionsToProps )( Hello )

作者:taoqun
地址:http://taoquns.com/paper/46

react 添加 react-redux 基本用法

原文:https://www.cnblogs.com/taoquns/p/12036192.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!