javascript - 警告:无法在尚未安装的组件上调用 setState
问题描述
当我在单元测试时尝试更改 setstate 输入值时收到此警告(开玩笑)
警告:无法在尚未安装的组件上调用 setState。这是一个无操作,但它可能表明您的应用程序中存在错误。相反,在 Login 组件中直接分配this.state
或定义state = {};
具有所需状态的类属性。我的代码是:
this.onChangeEvent = this.onChangeEvent.bind(this);
this.state = { email: '' }
componentDidMount() { this.onChangeEvent(); }
componentWillUnmount() { }
onChangeEvent(event) {
this.setState({ email: e.target.value });
}
我找不到此警告的正确解决方案。有人可以帮我解决这个警告吗?
解决方案
上下文绑定和状态初始化必须在constructor
.
constructor(props) {
super(props);
this.onChangeEvent = this.onChangeEvent.bind(this);
this.state = { email: '' }
}
推荐阅读
- node.js - CastError:模型“User”的路径“_id”处的值“register”(类型字符串)转换为 ObjectId 失败
- ios - 无法访问范围内的枚举
- json - 在Powershell中使用for循环或while循环循环json对象
- python - Spyne回归肥皂
- python - 如何在python中找到满足条件的n个向量的所有组合
- normal-distribution - Amos- SEM 正态性检验
- python - 如何使用 python 下载 google play 控制台报告?
- java - Android Studio CardView 元素返回 Null
- javascript - 将键数组和值数组转换为对象数组javascript
- javascript - Vue cli 2本地字体-找不到模块