当前位置:首页 > 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 包裹根组件:

React如何创建store

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:

React如何创建store

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:

import { combineReducers } from 'redux';

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

标签: Reactstore
分享给朋友:

相关文章

React如何保持登录状态

React如何保持登录状态

使用本地存储(localStorage/sessionStorage) 将用户登录凭证(如token)存储在浏览器的localStorage或sessionStorage中。localStorage持…

React如何点击以后再渲染组件

React如何点击以后再渲染组件

条件渲染实现点击后渲染组件 在React中实现点击后再渲染组件,可以通过状态管理控制组件的渲染条件。核心思路是利用useState钩子存储一个布尔值,通过点击事件切换该状态。 import…

React的热更新如何做

React的热更新如何做

React热更新配置方法 使用Webpack的Hot Module Replacement (HMR)功能实现React组件热更新。确保项目已安装webpack-dev-server和react-ho…

React中如何监听state的变化

React中如何监听state的变化

监听state变化的常用方法 在React中,监听state变化可以通过以下几种方式实现: 使用useEffect钩子 import { useState, useEffect } fro…

React实现全屏弹窗

React实现全屏弹窗

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

React批量删除实现

React批量删除实现

React批量删除的实现方法 在React中实现批量删除功能通常涉及以下几个关键步骤:状态管理、用户交互处理和API调用。以下是具体实现方案: 状态管理 使用React的useState或全局状态管…