redux-toolkit的基础使用

redux-toolkit是目前官方推荐的写法,用这个工具包,可以快速的搭建redux应用。

npm i @reduxjs/toolkit react-redux

首先需要引用Provider:

import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App.jsx";
import { Provider } from "react-redux";
import store from "./store/index";
/**
 * @parama {把redux中的所有数据映射到项目中}
 */
ReactDOM.createRoot(document.getElementById("root")).render(
  <Provider store={store}>
    <App />
  </Provider>

创建redux数据:需要使用createSlice、configureStore插件:

import { createSlice, configureStore } from "@reduxjs/toolkit";

/**
 * @param  {createSlice} 创建一个功能块,包含每一个reducer的所有功能
 *
 */
const appSlice = createSlice({
  name: "app",
  initialState: {
    name: "redux项目",
    count: 1,
  },
  /**
   * @param {数据改变}
   */
  /**
   * @param {reducers} 是同步改变数据的方法,在组件中dispatch派发一个action
   */
  reducers: {
    plus(state, { payload }) {
      state.count += payload;
    },
  },
});
const plusSlice = createSlice({
  name: "plus",
  initialState: {
    desc: "描述",
    data: 2,
  },
});
const store = configureStore({
  reducer: {
    app: appSlice.reducer,
    plus: plusSlice.reducer,
  },
});
export default store;

通过dispatch派发改变数据:

import { useSelector, useDispatch } from "react-redux";
function App() {
  let { name, count } = useSelector((state) => state.app);
  let { data, desc } = useSelector((state) => state.plus);
  /**
   * @param {useDispatch 数据派发}
   */
  const dispatch = useDispatch();
  const changeBtnValue = () => dispatch({ type: "app/plus", payload: 4 });
  return (
    <>
      <h1>{name}</h1>
      <button onClick={() => changeBtnValue()}>{count}</button>
      <p>{data}</p>
      <p>{desc}</p>
    </>
  );
}

export default App;

其中type是(名称/方法名)

-----------------纯属自己学习记录使用!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值