React函数柯里化
ps: 用于记录学习,持续更新
先来看段代码
class People extends React.Component {
changeData = (dataType) => {
// 下面这个renturn函数 是解决函数返回值是undefined的问题
return (event) => {
// 这个return 函数才是onChange的回调执行的函数
}
}
render() {
return (
<form>
<input onChange={this.changeData}" />
</form>
)
}
}
ReactDOM.render(<People/>,document.getElementById('app'))
解析:
<input onChange={this.changeData}" /> 这段意思是 this.changeData 这个函数交给了 onChange
<input onChange={this.changeData(‘username’)}" /> 这段意思是 this.changeData(‘username’) 这个函数的返回值交给了 onChange; 那打印的自然是undefined; 要想解决这个问题,在changeData方法中加个return 一个函数
注意:
点击方法传参两种方式
- 上面的高阶函数的形式
- onClick={() => this.fun()}
注意:
对象的相关知识:
动态设置对象的键值
在键值上加个 [ ]
this.setState({
[name]: value
})