2017-05-10 66 views
-1

我不明白如何解开双箭头绑定。我的棉绒不喜欢这个ES7 +魔术。如何在不使用箭头功能的情况下重写?

export default class Login extends Component { 
    handleChange = (fieldName) => (evt) => { 
     this.setState({ 
      [fieldName]: evt.target.value, 
      errors: {...this.state.errors, [fieldName]: null} 
     }) 
     } 
    } 
+0

您应该修复您的linter - 那么警告消息是什么?顺便说一句,箭头功能是ES6,只有对象传播超出ES7。 – Bergi

+0

我想了解如何解决这个问题,无论我的棉绒。我知道箭头是ES6,但是初始化一个方法而不将它绑定到一个反应类中是绝对的ES7 +魔术。警告是'Unexpected token =(null)'。我正在使用standardjs。 –

+0

这也可能是类属性的主体。 ES6的方法是在你的构造函数中使用它,或者使它成为一个方法并分别绑定它。 – loganfsmyth

回答

2

没有什么错用箭头功能,Unexpected token =意味着你的棉短绒不喜欢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} 
     }); 
    }; 
    } 
} 
+0

这是有道理的。非常感谢。 –

相关问题