当前位置:首页 > 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:

import { combineReducers } from 'redux';

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

React如何创建store

标签: Reactstore
分享给朋友:

相关文章

React如何获取li

React如何获取li

获取单个 <li> 元素 在 React 中,可以通过 ref 直接获取 DOM 元素。使用 useRef 钩子创建引用,并将其绑定到目标 <li> 元素上。 imp…

React如何定时刷新

React如何定时刷新

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

React如何监听数据

React如何监听数据

监听数据的方法 在React中监听数据变化可以通过多种方式实现,具体取决于数据的来源和状态管理方式。 使用useEffect钩子 useEffect是React Hooks中用于监听数据变化的常用…

react如何重置store

react如何重置store

重置 Redux Store 的方法 在 React 中重置 Redux Store 可以通过以下几种方式实现,具体取决于项目架构和需求: 分发重置 action 在 reducer 中定义…

React中如何引入koa

React中如何引入koa

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