如果不使用箭头函数,我怎么能重写它呢?
How could I rewrite this without using arrow functions?
我不明白如何解开双箭头绑定。我的 linter 不喜欢这个 ES7+ 魔法。
export default class Login extends Component {
handleChange = (fieldName) => (evt) => {
this.setState({
[fieldName]: evt.target.value,
errors: {...this.state.errors, [fieldName]: null}
})
}
}
箭头函数没有问题,Unexpected token =
意味着你的 linter 不喜欢 class fields。只需将整个内容移动到构造函数中:
export default class Login extends Component {
constructor() {
super();
this.handleChange = (fieldName) => (evt) => {
this.setState({
[fieldName]: evt.target.value,
errors: {...this.state.errors, [fieldName]: null}
});
};
}
}
我不明白如何解开双箭头绑定。我的 linter 不喜欢这个 ES7+ 魔法。
export default class Login extends Component {
handleChange = (fieldName) => (evt) => {
this.setState({
[fieldName]: evt.target.value,
errors: {...this.state.errors, [fieldName]: null}
})
}
}
箭头函数没有问题,Unexpected token =
意味着你的 linter 不喜欢 class fields。只需将整个内容移动到构造函数中:
export default class Login extends Component {
constructor() {
super();
this.handleChange = (fieldName) => (evt) => {
this.setState({
[fieldName]: evt.target.value,
errors: {...this.state.errors, [fieldName]: null}
});
};
}
}