当前位置:首页 > React

redux如何在react使用

2026-01-24 16:01:56React

安装 Redux 相关依赖

在 React 项目中使用 Redux 需要安装以下核心库:

  • redux:Redux 核心库。
  • react-redux:用于连接 Redux 和 React。
  • @reduxjs/toolkit(推荐):Redux 官方工具集,简化配置和开发流程。

通过 npm 或 yarn 安装:

npm install redux react-redux @reduxjs/toolkit

创建 Redux Store

使用 @reduxjs/toolkitconfigureStore 创建 Store:

import { configureStore } from '@reduxjs/toolkit';
import counterReducer from './features/counterSlice';

const store = configureStore({
  reducer: {
    counter: counterReducer,
  },
});

export default store;

创建 Slice

Slice 是 Redux 中管理状态逻辑的模块。通过 createSlice 定义:

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

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

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

在 React 中连接 Store

通过 Provider 将 Store 注入 React 应用:

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import App from './App';
import store from './store';

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

在组件中使用 Redux

使用 useSelectoruseDispatch 钩子访问状态和触发动作:

import React from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { increment, decrement } from './features/counterSlice';

function Counter() {
  const count = useSelector((state) => state.counter.value);
  const dispatch = useDispatch();

  return (
    <div>
      <button onClick={() => dispatch(increment())}>+</button>
      <span>{count}</span>
      <button onClick={() => dispatch(decrement())}>-</button>
    </div>
  );
}

export default Counter;

异步操作处理

使用 createAsyncThunk 处理异步逻辑(如 API 调用):

import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';

export const fetchData = createAsyncThunk('data/fetch', async () => {
  const response = await fetch('https://api.example.com/data');
  return response.json();
});

const dataSlice = createSlice({
  name: 'data',
  initialState: { data: null, status: 'idle' },
  extraReducers: (builder) => {
    builder
      .addCase(fetchData.pending, (state) => {
        state.status = 'loading';
      })
      .addCase(fetchData.fulfilled, (state, action) => {
        state.status = 'succeeded';
        state.data = action.payload;
      });
  },
});

export default dataSlice.reducer;

开发工具集成

启用 Redux DevTools 扩展(默认已集成在 @reduxjs/toolkit 中):

const store = configureStore({
  reducer: {
    // ...reducers
  },
  devTools: process.env.NODE_ENV !== 'production',
});

redux如何在react使用

标签: 如何在redux
分享给朋友:

相关文章

react如何结合redux

react如何结合redux

如何在 React 中结合 Redux 安装必要的依赖 确保项目已安装 react-redux 和 redux 库。可以通过以下命令安装: npm install react-redux redu…

react如何集成redux

react如何集成redux

集成 Redux 到 React 的步骤 安装依赖 确保项目中已安装 redux 和 react-redux。可以通过以下命令安装: npm install redux react-redux 创建…

如何react和redux

如何react和redux

React 与 Redux 的基本概念 React 是一个用于构建用户界面的 JavaScript 库,专注于组件化开发和高效的 DOM 更新。Redux 是一个状态管理库,用于集中管理应用的状态,通…

react如何传递redux

react如何传递redux

在React中传递Redux主要涉及以下几个关键步骤: 配置Redux Store 创建一个Redux store,通常使用configureStore(Redux Toolkit)或createS…

如何引用react redux

如何引用react redux

安装依赖 确保项目中已安装 react-redux 和 redux。通过 npm 或 yarn 安装: npm install react-redux redux # 或 yarn add reac…

redux如何关联react

redux如何关联react

redux 关联 react 的核心方法 安装依赖包 确保项目中已安装 redux 和 react-redux,通过以下命令安装: npm install redux react-redux 创建…