当前位置:首页 > React

如何react和redux

2026-03-31 04:24:32React

React 基础使用

React 是一个用于构建用户界面的 JavaScript 库。它采用组件化的方式构建应用,每个组件管理自己的状态和 UI。

安装 React:

npx create-react-app my-app
cd my-app
npm start

基本组件示例:

import React from 'react';

function App() {
  return <h1>Hello World</h1>;
}

export default App;

Redux 核心概念

Redux 是一个可预测的状态容器,帮助管理应用状态。主要包含三个部分:

  • Store:保存应用状态
  • Action:描述状态变化
  • Reducer:根据action更新状态

安装Redux:

npm install redux react-redux

React与Redux集成

创建Redux store:

如何react和redux

import { createStore } from 'redux';
import { Provider } from 'react-redux';

const initialState = { count: 0 };

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

const store = createStore(reducer);

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

连接组件到Redux

使用connect函数将React组件连接到Redux store:

import { connect } from 'react-redux';

function Counter({ count, increment }) {
  return (
    <div>
      <p>{count}</p>
      <button onClick={increment}>+</button>
    </div>
  );
}

const mapStateToProps = state => ({
  count: state.count
});

const mapDispatchToProps = dispatch => ({
  increment: () => dispatch({ type: 'INCREMENT' })
});

export default connect(
  mapStateToProps,
  mapDispatchToProps
)(Counter);

Redux中间件

Redux中间件可以处理异步操作,常用redux-thunk:

npm install redux-thunk

配置中间件:

如何react和redux

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

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

异步action示例:

function fetchData() {
  return dispatch => {
    fetch('/api/data')
      .then(res => res.json())
      .then(data => dispatch({ type: 'SET_DATA', payload: data }));
  };
}

Redux Toolkit简化开发

Redux Toolkit是官方推荐简化Redux代码的工具:

npm install @reduxjs/toolkit

使用示例:

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

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

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

现代React与Redux实践

使用React Hooks与Redux交互:

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

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

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

标签: reactredux
分享给朋友:

相关文章

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment 基本…

react如何收录

react如何收录

React 收录方法 React 的收录主要涉及搜索引擎优化(SEO)和预渲染技术。由于 React 是单页应用(SPA),默认情况下内容由 JavaScript 动态生成,可能导致搜索引擎爬虫难以收…

如何关闭react

如何关闭react

关闭React应用的步骤 在开发或运行React应用时,可能需要关闭正在运行的开发服务器或停止应用。以下是几种常见情况的处理方法: 停止开发服务器 如果正在使用npm start或yarn star…

react如何通信

react如何通信

React 组件通信方式 React 组件间的通信方式多样,具体选择取决于组件关系和场景需求。以下是常见方法: 父子组件通信 父组件通过 props 向子组件传递数据,子组件通过回调函数通知父组件…

react如何减少伤害

react如何减少伤害

减少 React 应用性能伤害的方法 使用 React.memo 或 PureComponent 对于函数组件,使用 React.memo 进行浅比较,避免不必要的重新渲染。类组件可以使用 PureC…

如何使用 react native

如何使用 react native

安装开发环境 确保已安装 Node.js(建议使用 LTS 版本)。通过以下命令安装 React Native 命令行工具: npm install -g expo-cli 或使用 Yarn: y…