如何在 ReactJS 中本地管理组件的状态?
原文:https://www . geeksforgeeks . org/如何在本地管理组件-状态-in-reactjs/
组件的本地状态:任何组件都是 ReactJS 主要依靠它的道具和状态来管理数据。组件的状态对它来说是私有的,并且在它的整个生命周期中负责管理它的行为。状态只不过是记录 react 应用程序中任何数据更改的结构。它可以用于存储值、表单输入、来自应用编程接口的数据等。组件内的这种本地状态管理不会受到其他组件的影响。
方法:为了在基于类的组件中本地管理组件的状态,我们实例化了一个本地状态对象,它包含了我们需要在组件中使用的所有状态变量。这些局部状态变量可以使用 setState 函数进行更新。仅使用 setState 函数更改本地状态非常重要,因为只有这样,React 才会触发组件重新呈现,这对于更新应用程序状态至关重要。
创建新的反应应用程序:
-
步骤 1: 使用以下命令创建一个反应应用程序:
jsx npx create-react-app react-local-state
-
步骤 2: 创建项目文件夹(即反应-本地-状态)后,使用以下命令移动到该文件夹:
jsx cd react-local-state
项目结构:如下图。
示例:我们来看一个示例,了解如何在本地管理组件的状态。在我们的示例中,我们将考虑一个初始化为 0 的值。我们可以通过递增(增加 1)或递减(减少 1)来更新这个“值”状态。现在,为了增加或减少这个值,我们将使用 setState 函数来触发组件重新渲染,以确保我们的状态(值)的任何更新都将反映在屏幕上。
App.js
import React, { Component } from "react";
import "./App.css";
class App extends Component {
constructor(props) {
super(props);
this.state = { value: 0 };
}
incrementValue = () => {
this.setState((state) => ({
value: state.value + 1,
}));
};
decrementValue = () => {
this.setState((state) => ({
value: state.value - 1,
}));
};
render() {
return (
<div className="App">
<header className="App-header">
<h3>Local State in ReactJS</h3>
<h5>The value managed locally is: {this.state.value}</h5>
<div>
<button onClick={this.incrementValue}>
Increment!
</button>{" "}
<button onClick={this.decrementValue}>
Decrement!
</button>
</div>
</header>
</div>
);
}
}
export default App;
运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:
npm start
输出:现在打开浏览器,转到 http://localhost:3000/,会看到如下输出:
版权属于:月萌API www.moonapi.com,转载请注明出处