必须使用解构道具分配(反应/解构 - 分配)

Dom*_*ski 18 reactjs eslint eslint-config-airbnb

我已经将eslint airbnb标准应用于我的代码,所以现在这段代码:

handleSubmit = (event) => {
        event.preventDefault();
        this.props.onSearch(this.query.value);
        event.target.blur();
    }
Run Code Online (Sandbox Code Playgroud)

导致错误

[eslint]必须使用解构道具赋值(反应/解构 - 赋值)

onSearch基本上是一个将值传递给父组件的触发器.

如何重构此代码以满足eslint要求?

谢谢.

lom*_*mse 20

handleSubmit = (event) => {
    event.preventDefault();

    const {onSearch} = this.props
    const {value} = this.query
    onSearch(value)

    event.target.blur();
}
Run Code Online (Sandbox Code Playgroud)

  • 我认为,这个答案完美地说明了为什么这不是一个好的皮棉规则。应该在可以提高可读性的地方使用解构,但是为了一致性而在各处使用它会适得其反。在这里,您需要将3行变成5行,并带有2个一次性的const赋值,即可读性差和性能差 (7认同)
  • 当您有多个值时,解构非常有用,const { className, title, text } = this.props; 比 this.props.title 等好多了。 (2认同)