Redux 实战:从零开始搭建 React 应用

随着前端应用日益复杂,状态管理成为前端开发中的重要问题。Redux 是 React 生态中最为流行的状态管理库之一,它可以帮助我们更好地管理应用的状态。在本文中,我们将从零开始搭建一个 React 应用,并使用 Redux 进行状态管理。

准备工作

首先,我们需要安装必要的依赖包,包括 reactreact-domredux。我们使用 npm 安装:

接下来,我们创建一个新的文件夹,用于存放我们的代码。在该文件夹中,我们创建一个 index.html 文件,并引入必要的 JavaScript 和 CSS。

在上述代码中,我们引入了名为 index.js 的 JavaScript 文件,并在页面中添加了一个 idrootdiv 元素,用于渲染 React 应用。

编写 React 组件

src 文件夹中,我们创建一个名为 App.js 的文件,并定义一个新的 React 组件。在此处,我们定义了一个简单的组件,用于显示一个文本:

在上述代码中,我们定义了一个 App 组件,该组件返回一个包含文本的 h1 元素。接下来,在 index.js 中,我们将该组件渲染到页面中。

在上述代码中,我们使用 ReactDOM.render 方法将 App 组件渲染到 root 元素中。

现在,如果我们在浏览器中打开 index.html 文件,我们应该能够看到一个显示文本的页面。

使用 Redux 进行状态管理

现在,我们已经成功地创建了一个 React 应用。接下来,我们将使用 Redux 进行状态管理。

首先,我们需要创建一个 Redux store。在 src 文件夹中,我们创建一个名为 store.js 的文件,并定义一个新的 Redux store。在此处,我们定义了一个简单的 store,用于管理一个数字的状态:

在上述代码中,我们使用 createStore 函数创建了一个 Redux store,并定义了一个名为 reducer 的函数。该函数接收一个名为 state 的初始状态和一个名为 action 的操作,返回一个新的状态对象。在此处,我们定义了两个操作:INCREMENTDECREMENT,分别用于增加和减少数字。

接下来,在 App.js 中,我们使用 Redux store 中的状态。我们可以通过 useSelector 钩子函数来选择 store 中的状态:

在上述代码中,我们通过 useSelector 钩子函数选择了 Redux store 中的 count 状态,并在页面中显示了该状态。接下来,我们定义了两个按钮,用于增加和减少数字。我们可以通过 useDispatch 钩子函数获取 dispatch 方法,用于派发操作:

现在,我们已经成功地使用 Redux 进行了状态管理。如果我们在浏览器中打开 index.html 文件,我们应该能够看到一个显示数字和两个按钮的页面。

总结

在本文中,我们从零开始搭建了一个 React 应用,并使用 Redux 进行了状态管理。我们学习了如何创建 Redux store、定义 reducer、使用 useSelectoruseDispatch 钩子函数,以及如何派发操作。通过本文的学习,希望读者能够更好地理解 Redux 的使用方法,并能够应用到实际项目中。完整代码如下:

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/653f6f697d4982a6eb8fec82


纠错
反馈