redux的简单用法

1.安装包

npm install @reduxjs/toolkit react-redux -S

2.看看目录结构

3.store的user代码

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

// 初始状态
let initialState = {
  count: 1,
  users: [
    {
      name: "zhangzhang",
      pass: "123456",
    },
  ],
  infor: {
    infor_num: 20,
    infor_type: "cosplay",
    infor_name: "GAT5",
  },
};

// 改变状态的方法
let reducers = {
  changeCount(state, { payload }) {
    state.count = payload;
  },
};

// 创建为小仓库
const stateSlice = createSlice({
  name: "user",
  initialState,
  reducers,
});

// 导出改变状态的方法
export const { changeCount } = stateSlice.actions;
// 导出当前整体仓库
export default stateSlice.reducer;

4.store的index代码

 

// 导入创建库的钩子
import { configureStore } from "@reduxjs/toolkit";

// 引入小仓库
import user from "./user";

// 合为一个大仓库
const store = configureStore({
  // 每个reducer代表一个模块的状态管理器
  reducer: {
    user,
  },
});

export default store;

使用

挂到indexjs上

import React from "react";
import ReactDOM from "react-dom/client";
import "./index.css";
import App from "./App";
import reportWebVitals from "./reportWebVitals";
import { BrowserRouter } from "react-router-dom";
import { Provider } from "react-redux";
import store from "./store";

const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
  // BrowserRouter 是history模式
  <BrowserRouter>
    {/* // Provider主要配合redux,进行store数据的传递 */}
    <Provider store={store}>
      <App />
    </Provider>
  </BrowserRouter>
);


reportWebVitals();

在代码里面进行取值使用方法,pages

// 使用方法的话,用从具体的库引用出来
import { changeCount } from "../../store/user"
// useDispatch是进行方法的使用,useSelector是进行取值
import { useDispatch,useSelector } from "react-redux"

export default function Home() {
    const dispatch = useDispatch();
    let selector = useSelector(store => store.user.count);
    console.log(selector, '==')
    // dispatch(changeCount(2))
    return (
        <div>hello word</div>
    )
}

 

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React-Redux是一个用于在React应用程序中管理状态的库。它结合了ReactRedux,使得在React组件中使用Redux变得更加简单。 要使用React-Redux,首先需要安装它: ``` npm install react-redux ``` 然后,在你的应用程序中引入所需的模块: ```jsx import React from 'react'; import { Provider, useDispatch, useSelector } from 'react-redux'; import { createStore } from 'redux'; // 创建一个Redux store const store = createStore(reducer); // 创建一个React组件 const App = () => { // 使用useDispatch和useSelector钩子来访问Redux store const dispatch = useDispatch(); const state = useSelector(state => state); // 渲染组件 return ( <div> <h1>Hello React-Redux!</h1> <button onClick={() => dispatch({ type: 'INCREMENT' })}>Increment</button> <p>Count: {state.count}</p> </div> ); }; // 渲染根组件并将Redux store传递给应用程序 ReactDOM.render( <Provider store={store}> <App /> </Provider>, document.getElementById('root') ); ``` 在上面的示例中,我们首先创建了一个Redux store,然后使用`useDispatch`和`useSelector`钩子来访问Redux store。`useDispatch`用于触发action,`useSelector`用于选择需要的state。然后,在组件中,我们可以通过`dispatch`函数来分发action,以更新状态。最后,我们使用`Provider`组件将Redux store传递给整个应用程序。 这只是React-Redux的基本用法,它还提供了更多的功能和API来帮助你更好地管理状态。你可以参考React-Redux的官方文档来了解更多用法和示例。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值