当前位置:首页 > React

react如何集成redux

2026-03-31 02:18:23React

集成 Redux 到 React 的步骤

安装依赖
确保项目已安装 reduxreact-redux。通过以下命令安装:

npm install redux react-redux

创建 Redux Store
src/store.js 中定义 store,使用 createStore 并传入 reducer:

import { createStore } from 'redux';
import rootReducer from './reducers';

const store = createStore(rootReducer);
export default store;

定义 Reducer
创建 src/reducers/index.js 组合多个 reducer(示例为一个计数器):

const initialState = { count: 0 };

function counterReducer(state = initialState, action) {
  switch (action.type) {
    case 'INCREMENT':
      return { ...state, count: state.count + 1 };
    default:
      return state;
  }
}

export default counterReducer;

连接 React 组件
使用 Provider 包裹根组件(如 App.js),并传递 store:

import { Provider } from 'react-redux';
import store from './store';

function App() {
  return (
    <Provider store={store}>
      <Counter />
    </Provider>
  );
}

在组件中使用 Redux
通过 useSelectoruseDispatch 访问状态和触发 action(示例组件 Counter.js):

import { useSelector, useDispatch } from 'react-redux';

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

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => dispatch({ type: 'INCREMENT' })}>+1</button>
    </div>
  );
}

异步 Action 处理(可选)

如需异步逻辑(如 API 调用),需使用中间件如 redux-thunk

安装并配置 redux-thunk

npm install redux-thunk

更新 store.js 以应用中间件:

import { applyMiddleware, createStore } from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers';

const store = createStore(rootReducer, applyMiddleware(thunk));

定义异步 Action

function fetchData() {
  return async (dispatch) => {
    const response = await fetch('api/endpoint');
    const data = await response.json();
    dispatch({ type: 'SET_DATA', payload: data });
  };
}

类型安全(TypeScript 可选)

使用 @reduxjs/toolkit 简化类型定义和 store 配置:

npm install @reduxjs/toolkit

示例 store 配置:

react如何集成redux

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

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

标签: reactredux
分享给朋友:

相关文章

react native 如何

react native 如何

React Native 开发基础 React Native 是一个用于构建跨平台移动应用的框架,允许开发者使用 JavaScript 和 React 编写代码,同时生成原生 iOS 和 Androi…

如何下载react

如何下载react

下载 React 的方法 通过 npm 或 yarn 安装 React 可以通过包管理器 npm 或 yarn 安装。确保已安装 Node.js(包含 npm),然后在项目目录中运行以下命令:…

react如何拓展

react如何拓展

React 拓展方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式,通过接收一个组件并返回一个新组件实现功能拓展。例如,为组件添加日志功能: function withLogging…

如何启动react

如何启动react

安装Node.js 确保系统已安装Node.js(建议使用LTS版本),可通过官网下载并安装。安装完成后,在终端运行以下命令验证版本: node -v npm -v 创建React项目 使用官方工具…

react如何创建项目

react如何创建项目

使用 Create React App 创建项目 Create React App (CRA) 是官方推荐的 React 项目脚手架工具,适合快速初始化一个现代化的 React 项目。 安装 C…

react如何修改值

react如何修改值

修改 React 组件的值 在 React 中修改值通常涉及状态管理。根据组件的类型(类组件或函数组件)和状态管理方式(本地状态或全局状态),方法有所不同。 使用 useState(函数组件) 在函…