【问题标题】:how to solve warning Use callback in setState when referencing the previous state引用前一个状态时如何解决警告在setState中使用回调
【发布时间】:2022-01-25 04:57:50
【问题描述】:

对于这段代码,我收到 eslint 警告:warning Use callback in setState when reference the previous state react/no-access-state-in-setstate

如何解决?

const sketch = await ImageManipulator.manipulateAsync(this.state.sketch, [{ rotate: 90 }], {
  base64: true,
  format: ImageManipulator.SaveFormat.PNG,
})
this.setState({ sketch: sketch.uri })

显示第一行警告(const sketch =....)。

【问题讨论】:

  • 使用功能状态更新。 this.state.sketch的初始值是多少?

标签: javascript reactjs react-native eslint lint


【解决方案1】:

由于this.setState({ sketch: sketch.uri }) 行,您收到警告。

您可以执行以下代码来删除 lint 警告。

const sketch = await ImageManipulator.manipulateAsync(this.state.sketch, [{ rotate: 90 }], {
  base64: true,
  format: ImageManipulator.SaveFormat.PNG,
})
this.setState(() => {
  return {
    sketch: sketch.uri,
  }
})

【讨论】:

    猜你喜欢
    • 2019-09-25
    • 2020-11-27
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 2017-09-16
    相关资源
    最近更新 更多