@reduxjs/toolkit Redux工具集

ca7ba22b071a5d485c0d3462e3e8eecd.png

@reduxjs/toolkit 是 Redux 团队为简化 Redux 使用而开发的官方工具集。它提供了一系列实用工具,帮助开发者更简单、更快速地编写 Redux 代码。

以下是 @reduxjs/toolkit 提供的一些主要功能:

configureStore: 这个函数会自动将 Redux 中间件与 store 进行绑定,并设置好开发环境中的 Redux DevTools 扩展。

createReducer 和 createSlice: 这两个函数可以帮助你更简洁地编写 reducer 和 action。createSlice 会自动为你生成 action creator 和 action type,你只需要定义 reducer 即可。

createAsyncThunk: 这个函数可以帮助你处理异步逻辑。它接收一个 action type 和一个返回 Promise 的函数,然后生成一个 thunk,这个 thunk 会 dispatch pending、fulfilled 和 rejected 三种 action。

createEntityAdapter: 这个函数可以帮助你管理 normalized state,提供了一些用于更新 normalized state 的函数。

createSelector: 这是一个来自 reselect 库的函数,用于创建可记忆的 selector,可以提高 Redux 的性能。

总的来说,@reduxjs/toolkit 是一个非常实用的工具集,它可以帮助你更高效地使用 Redux。

@reduxjs/toolkit 是一个帮助简化 Redux 使用的工具集。以下是其基本用法的一些示例:

安装

首先,你需要在你的项目中安装 @reduxjs/toolkit。你可以通过 npm 或者 yarn 来安装:

npm install @reduxjs/toolkit
或者
yarn add @reduxjs/toolkit

创建一个 store

configureStore 函数可以帮助你快速创建一个 store。它会自动将 Redux 中间件与 store 进行绑定,并设置好开发环境中的 Redux DevTools 扩展。

import { configureStore } from '@reduxjs/toolkit'
import rootReducer from './reducer'


const store = configureStore({
  reducer: rootReducer
})

创建一个 reducer

createSlice 函数可以帮助你更简洁地编写 reducer 和 action。它会自动为你生成 action creator 和 action type,你只需要定义 reducer 即可。

import { createSlice } from '@reduxjs/toolkit'


const counterSlice = createSlice({
  name: 'counter',
  initialState: 0,
  reducers: {
    increment: state => state + 1,
    decrement: state => state - 1
  }
})


export const { increment, decrement } = counterSlice.actions
export default counterSlice.reducer

处理异步逻辑

createAsyncThunk 函数可以帮助你处理异步逻辑。它接收一个 action type 和一个返回 Promise 的函数,然后生成一个 thunk,这个 thunk 会 dispatch pending、fulfilled 和 rejected 三种 action。

import { createAsyncThunk } from '@reduxjs/toolkit'


export const fetchUserById = createAsyncThunk(
  'users/fetchByIdStatus',
  async (userId, thunkAPI) => {
    const response = await userAPI.fetchById(userId)
    return response.data
  }
)

以上就是 @reduxjs/toolkit 的一些基本用法。你可以根据你的应用的需要,使用 @reduxjs/toolkit 提供的其他功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值