项目结构:
定义一个函数getData() 点击按钮后调用函数
Home1.js 代码:
import React from 'react';
import '../assets/css/index.css';
/**
* 定义函数
*/
class Home1 extends React.Component{
// 子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工。如果不调用super方法,子类就得不到this对象
constructor(props){
super(props); //固定写法
this.state={
msg:'我是一个home组件',
message:'我是一个message',
username:'itying'
}
}
// 定义一个函数
getData(){
// 执行这个 alert(this.state.name); 会报错
// Uncaught TypeError: Cannot read property 'state' of undefined
//原因是 this不是Home1 的当前对象
//需要使用箭头函数改变this的指向
alert(this.state.name);
}
render(){
return(
<div>
<button onClick={this.getData}>调用方法</button>
</div>
)
}
}
export default Home1;
但是在Home1.js 中 在函数 getData() 中 alert(this.state.name);报错
Uncaught TypeError: Cannot