javascript - 何时在 react.js 中使用构造函数
问题描述
我正在学习 React.js 并且想更好地理解基于类的Components
;特别是constructor
方法(如果它是一种方法)。我来自 Python,我相信它与那里的类有点不同。Python中的方法和React中的__init__
方法一样吗?constructor
在最近的一门课程中,我跟随课程开发Component
人员为注册用户编写了一个。这Component
不会调用方法,而是constructor
初始化类内部的状态。它看起来像这样:
class Register extends Component {
state = {
username: "",
phone: "",
email: "",
password: "",
password2: "",
smsNotifications: true,
emailNotifications: true,
}
onChange = e => {
this.setState({
[e.target.name]: e.target.value
});
}
现在,查看 React文档,它说:
如果您不初始化状态并且不绑定方法,则不需要为 React 组件实现构造函数。"
为什么在这个实例中没有使用构造函数?如何确定何时需要使用构造函数?从查看文档看来,几乎总是应该使用构造函数。
谢谢您的帮助!
解决方案
推荐阅读
- spring-security - 使用 Spring Security 5.2+ 在多线程上下文中有效地授权客户端凭据 OAuth2ClientRequest
- c# - 从 IViewComponentHelper 扩展方法中调用 Component.InvokeAsync()
- javascript - 使用 chrome.identity.launchWebAuthFlow 时如何防止提前关闭弹出窗口?
- rust - 在 Rust 中用于 CLI/config 的 Cobra/Viper-like crate
- pandas - ggplot/plotnine - 从 geom_text() 添加具有特定颜色的图例
- c++ - GLSL 将有效 glm::mat4 矩阵转换为 nan 矩阵
- python - 为什么在使用 cvxpy 时会出现“有纪律的凸编程”错误?
- javascript - Angular material , 选择 mat-list-option 并显示所选 mat-list-option 的相应数据
- javascript - 如何将 FormControl 从模板传递给函数?
- encryption - 具有主密钥和派生密钥的 Crpyto 系统 - 这可能吗?