Redux的使用

4 篇文章 0 订阅
1 篇文章 0 订阅


一、Redux是什么?

学过Vue的朋友应该晓得Vuex,就知道了这个东西,没有学过的朋友也不要慌,总结来说redux就是一个存储数据的仓库。如果你没有想到用它,或者你项目不用它也可以完成,那就不要用他了。

二、思想介绍

Redux 有三个核心

  • Action 个人理解就是很多的资源(比如金银珠宝),换算成代码就是一个带type的对象,对象有名字,有数据。像一个装着金银珠宝的箱子,箱子上有变化或者名字

  • 在这里插入图片描述

  • Reducer Reducer呢像一个佣人或者强盗,他负责搬运或者对这箱珠宝进行处理,在这里插入图片描述

  • Store Store这个就是最后的仓库了,他是没有灵魂的,就负责放数据(金银珠宝)

  • 在这里插入图片描述
    整体逻辑图
    在这里插入图片描述

二、使用步骤

1.使用脚手架创建React的项目

    creact-react-app  my-xxx //创建命零

2.给项目加载redux

   yarn add redux  //创建命零

3.项目目录解构

在这里插入图片描述

4.实现原理

  1. 创建页面组件
import React, { Component } from 'react';
//导入store
import store from  '../../store'
// 导入 action
import {sendAction} from '../../action'
class Home extends Component {
   componentDidMount(){
       //检测store发生改变时,触发
       store.subscribe(()=>{
           console.log("subscribe",store.getState());
           // 一旦发生变化,就渲染视图
           this.setState({})
       })
   }
   //点击后执行
   handleClick=()=>{
       // 将action 传递给reducer
       const action = sendAction()
       store.dispatch(action)
   }
   render() {
       return (
           <div>
               <button onClick={this.handleClick}>按钮</button>
               <div>{store.getState()}</div> {/* 获取仓库中的数据 */}
           </div>
       );
   }
}

export default Home;

2.action对象

 // 定义action 
const sendAction=()=>{
   return {
       type:'send-action',
       value:'redux中的数据'
   }
}
module.exports={
   sendAction
}
  1. 自定义reducer对象
  // 自定义reducer
//默认值
const initValue = '默认值'
const myReducer = (state = initValue, action) => {
  switch (action.type) {
    case 'send-action': //根据箱子上的名字进行处理
      return action.value //取出箱子里的金银珠宝
    default://如果没有标签,默认就扔到杂物堆
      return state
  }
}
// 导出reducer
module.exports = {
  myReducer,
}

4.创建store对象

  // 导入redux,创建store
import { createStore } from "redux";
// 导入reducer 
import {myReducer} from '../reducer/'
// 佣人把金银珠宝放到仓库
const store =createStore(myReducer)

// 导出store
export default store

总结

提示:这里对文章进行总结:主要介绍了最最最基本的redux思路,三个对象一定要掌握理解,后面还有更难的哦,着急下班了,下次更新react-redux。2021/11/02 18:31

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最新版的 react-redux 使用方法如下: 首先,确保你的项目已经安装了 react-redux 依赖包。你可以使用以下命令安装它: ``` npm install react-redux ``` 或 ``` yarn add react-redux ``` 接下来,你需要创建一个 Redux store。你可以使用 Redux Toolkit 来简化这个过程。首先,导入 `configureStore` 和 `getDefaultMiddleware` 函数: ``` import { configureStore, getDefaultMiddleware } from '@reduxjs/toolkit'; ``` 然后,创建一个 rootReducer 来合并你的所有 reducer: ``` import { combineReducers } from 'redux'; const rootReducer = combineReducers({ // 这里是你的 reducer }); ``` 接着,使用 `configureStore` 函数创建 Redux store。你可以通过传入一个对象来配置 store,例如指定 reducer、middleware 等等。以下是一个示例: ``` const store = configureStore({ reducer: rootReducer, middleware: getDefaultMiddleware() }); ``` 现在,你可以使用 `<Provider>` 组件来将 Redux store 提供给你的整个应用程序。在你的根组件,导入 `<Provider>` 组件和你的 Redux store,然后将其包裹在应用的最外层: ``` import { Provider } from 'react-redux'; ReactDOM.render( <Provider store={store}> <App /> </Provider>, document.getElementById('root') ); ``` 通过将 Redux store 提供给整个应用程序,你可以在应用的任何地方使用 `useSelector` 和 `useDispatch` 钩子来访问 Redux store 的状态和分发 action。例如,在你的组件,你可以这样使用: ``` import { useSelector, useDispatch } from 'react-redux'; const MyComponent = () => { const counter = useSelector(state => state.counter); const dispatch = useDispatch(); // 使用 counter 和 dispatch }; ``` 这就是最新版的 react-redux使用方法。你可以根据你的具体需求,自定义配置和使用其他相关的 react-redux API。希望对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值