You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import React from 'react'
class Test extends React.Component { handler() { // 错误演示
console.log(this) // 这里的 this 是 undefined
// this.setState 去修改数据还可以修改数据吗? 会报错
}
render() { /* render 函数中的 this 已经被 react 内部做了修正 这里的 this 就是指向当前的组件实例对象 函数箭头中的 this 直接沿用,所以也是指向组件的实例对象 */ console.log('父函数中的 this 指向为:', this) return ( /* 第二种修正方法: 如果不用 constructor 做修正,直接可以在事件绑定的位置通过箭头函数的写法,直接沿用父函数中的this指向也是可以的 */ <button onClick={() => this.handler}>click</button> ) } }
function App() { return <Test></Test> }
export default App
|