reactjs - React.JS TypeError:无法读取未定义的属性“编号”-(在 setState 内)
问题描述
大家好,
在我的 ReactJS 网站中,我收到此错误 - `TypeError: Cannot read property 'number' of undefined``HTMLInputElement.anonymous`
为什么?
我做到了console.log(this.state.number)
,并且数字有一个价值。
class App extends Component {
constructor(props) {
super(props);
this.state = {
mobileNum: '',
number: '',
};
}
somefunction=()=>{ // Is called with onKeyDown - I checked it does.
this.setState({ number: document.getElementById('mySubmit').value });
enterPressed = () => {
const submit = document.getElementById('mySubmit');
submit.addEventListener('keyup', function (event) {
if (event.key === 'Enter') {
this.setState({ mobileNum: this.state.number }); // Here is the error line !
}
});
};
如果我在另一个函数中使用setState
条件if
,它会出错 -setState is not a function
this.setState({ mobileNum: this.state.number })
在我制作的另一个函数中也可以工作,但enterPressed()
不是。
感谢帮助者:)
解决方案
它应该是一个胖箭头函数
enterPressed = () => {
const submit = document.getElementById('mySubmit');
submit.addEventListener('keyup', (event) => {
if (event.key === 'Enter') {
this.setState({
mobileNum: this.state.number
});
}
});
};
推荐阅读
- mysql - 如何使用 node.js 将图像上传到 mysql
- function - 当数据以位为单位时,求解具有相互依赖的变量和函数的方程
- r - 代码(在 R 中)返回变量位置而不是值
- ruby - 如何删除散列中的数组
- text - RAML MimeType 用于文本/纯文本
- c++ - C++11:默认的默认构造函数会导致部分初始化的类吗?
- android - 膨胀类 android.support.constraint.ConstraintLayout 时出错
- bash - 你能帮我在 Slurm 中并行运行任务吗?
- python - 如何在tensorflow中的隐藏层之前添加一个dropout层?
- python - google 知识图 api 支持哪些 schema.org 类型?