当前位置:首页 > React

React如何创建store

2026-01-23 23:32:32React

创建 Redux Store 的基本步骤

安装 Redux 和 React-Redux 依赖包:

npm install redux react-redux

创建 reducer 函数管理状态:

const initialState = {
  count: 0
};

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

使用 createStore 创建 store 实例:

import { createStore } from 'redux';

const store = createStore(rootReducer);

在 React 应用中集成 Store

使用 Provider 包裹根组件:

import { Provider } from 'react-redux';
import ReactDOM from 'react-dom';

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

在组件中访问 Store

使用 useSelector 读取状态:

import { useSelector } from 'react-redux';

function Counter() {
  const count = useSelector(state => state.count);
  return <div>{count}</div>;
}

使用 useDispatch 派发 action:

import { useDispatch } from 'react-redux';

function Buttons() {
  const dispatch = useDispatch();
  return (
    <>
      <button onClick={() => dispatch({ type: 'INCREMENT' })}>+</button>
      <button onClick={() => dispatch({ type: 'DECREMENT' })}>-</button>
    </>
  );
}

配置中间件

安装 redux-thunk 处理异步操作:

npm install redux-thunk

应用中间件创建 store:

import { applyMiddleware, createStore } from 'redux';
import thunk from 'redux-thunk';

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

模块化 Reducers

使用 combineReducers 合并多个 reducer:

React如何创建store

import { combineReducers } from 'redux';

const rootReducer = combineReducers({
  counter: counterReducer,
  user: userReducer
});

标签: Reactstore
分享给朋友:

相关文章

React如何定时刷新

React如何定时刷新

使用setInterval实现定时刷新 在React中,可以通过setInterval在组件挂载时设置定时器,组件卸载时清除定时器。这种方式适用于需要在固定间隔执行某些操作的场景。 import R…

React中如何引入koa

React中如何引入koa

React 中引入 Koa 的方法 React 是前端框架,而 Koa 是 Node.js 的后端框架。通常两者结合使用时,React 作为前端应用运行在浏览器中,Koa 作为后端服务提供 API 接…

React实现全屏弹窗

React实现全屏弹窗

React 实现全屏弹窗的方法 使用 CSS 样式控制全屏 通过 CSS 设置弹窗的样式,使其覆盖整个视口。以下是一个基本的实现示例: import React, { useState } from…

React原生实现menu

React原生实现menu

React 原生实现菜单 在React中实现菜单功能可以通过多种方式完成,以下是几种常见的方法: 使用状态管理控制菜单显示 通过React的useState钩子管理菜单的显示状态,结合点击事件触发状…

React中swiper实现

React中swiper实现

React中Swiper的实现方法 在React项目中,可以通过第三方库swiper/react快速集成Swiper滑动组件。以下是具体实现步骤和配置示例: 安装依赖 需要安装Swiper的核心库和…

React实现弹框全屏

React实现弹框全屏

React 实现弹框全屏的方法 使用 CSS 样式控制全屏 通过设置弹框的 CSS 样式,使其覆盖整个视口。可以使用 position: fixed 和 width、height 设置为 100%。…