如果不使用箭头函数,我怎么能重写它呢?

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}
      });
    };
  }
}