小编Fel*_*oka的帖子

为什么我得到“在引用前一个状态时在 setState 中使用回调”?

我正在学习 React,并且在我的项目中安装了 ESLint。它开始给我这样的错误:

引用前一个状态 react/no-access-state-in-setstate 时在 setState 中使用回调

在我的 React 组件中,我有一个构造函数:

  constructor() {
    super()
    this.state = {
      currentIdVehicle: null,
      currentIdModel: null,
      currentIdVehicleFinal: null,
      marca: [],
      veiculo: [],
      modeloEAno: [],
      vehicleFinal: [],
      infoTable: [],
    };
  }
Run Code Online (Sandbox Code Playgroud)

在我的功能中,我有:

  getMarca = () => {
    this.setState({ marca: [], veiculo: [], modeloEAno: [] });
    api.get(`/marcas.json`).then(res => {
      res.data.map((item) => {
        const joined = this.state.marca.concat([
          { name: item.name, id: item.id },
        ]);
        this.setState({ marca: joined });
      });
    });
  };
Run Code Online (Sandbox Code Playgroud)

我知道this.state在 内使用是不正确的setState,但我该如何解决这个错误?

javascript reactjs eslint

5
推荐指数
1
解决办法
3943
查看次数

标签 统计

eslint ×1

javascript ×1

reactjs ×1