javascript - react 如何知道这个组件将被卸载?
问题描述
import React from 'react';
class App extends React.Component {
constructor() {
super();
this.state = {
delete: false,
};
}
render() {
return (
<div>
<h1>User List</h1>
<button onClick={() => this.setState({ delete: true })}>
Delete Users
</button>
{this.state.delete ? null : <User />}
</div>
);
}
}
class User extends React.Component {
componentWillUnmount() {
alert('Deleted User successfully');
}
render() {
return (
<div>
<h3>Username: Rahul</h3>
<h3>Email: rbbansal558@gmail.com</h3>
</div>
);
}
}
export default App;
在这个代码示例中,有两个类,一个是 App,另一个是 User 类。那么,React 是如何知道 User 类将被卸载的呢?
解决方案
React 负责卸载组件,并且由于 react 管理其所有组件的生命周期,它知道它正在卸载组件,因此它调用 componentWillUnmount。它全部在文档中。https://reactjs.org/docs/react-component.html
推荐阅读
- mysql - 递归sql查询中的无限循环
- saleor - 我们如何在 Saleor 仪表板中翻译产品属性?
- java - 通过 CLI 配置时,Wildfly 数据源启用在运行时不起作用
- r - 使用 lme4 的线性混合模型:合适的公式?
- php - 我正在使用 PHP 联系表格。我在本地工作时发送的邮件。显示使用服务器成功消息,但收不到邮件
- ruby - 在 Ruby 中运行自定义方法的“整数的未定义方法”
- input - 如何在后台窗口中将焦点设置在 html 输入元素上?电子
- python - mysql.connector.errors.ProgrammingError: 1064 (42000) - 创建本地 NVD 镜像
- r - R中的data.frame到json
- javascript - 如何在模板文字 js 表达式中选择 $(this)?