将对象状态从 null 更改为另一个设置状态

安朱拉·萨马拉辛哈
class SubCategories extends React.Component<
  SubCategoryStateProps
> {
  constructor(props: RouteComponentProps<CategoryUrlParams>) {
    super(props);
    this.state = {
      category: null,
    };
  }

  componentDidMount() { 
     axios
      .get(
        window.location.origin + `/core/academix/categories/${this.CategoryId}`
      )
      .then((result: AxiosResponse<Category>) => {
        if (result.status == 200) {
          this.setState({
            category: result.data,
          });
        }
      })
      .catch((error) => {
        handleApiError(
          error,
          'Something went wrong when trying to load category details'
        );
      });
  };

  render() { <Title level={3}>{this.state.category.translations[1].name}</Title>);
  }
}

export default SubCategories;

在初始状态下,我将 the 设置category为 null,然后在 SubCategoryStateProps 中Categpry | null设置了categorywith 的新状态,axios但在渲染之后它仍然说 category 是null为什么?

贾亚桑卡·韦拉辛哈

出现问题axios.get因为是异步调用,执行需要时间。同时,初始渲染被调用。由于this.state.category仍然是null(因为axios.get没有完全执行)它会抛出一个错误。

简单地认为这两个(axios.getrender)并行运行。

您所要做的就是在渲染中进行空检查。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

反应如何将对象从状态克隆到另一个状态

如何将对象数组中的项目映射到另一个数组中的状态

如何从另一个小部件设置状态?

在React-native中将一个组件的状态更改为另一个组件的状态

另一个Null对象引用

REACTJS:在另一个类中更改状态

将对象数组作为状态处理的问题

可以将一个对象的原型更改为另一个对象吗?

使用useState()将对象作为状态

从另一个文件反应设置状态

将对象替换为另一个状态为React的对象

如何设置状态并将对象推入数组?

在另一个函数中创建一个函数以更改状态

如何在React中从另一个组件设置一个组件的状态

如何在颤抖中将一个有状态的小部件的状态从另一个状态更改为?

从另一个文件组织和设置状态

从另一个文件中的另一个组件更改一个组件的状态

AngularJS:将对象参数传递给状态

用另一个可观察对象更改一个可观察对象的订阅状态

更改另一个组件中的状态

从另一个组件 React js 设置状态

将对象重置为初始状态 Python

如何从输入字段将对象存储在状态?

将 String 值从一个有状态小部件更改为另一个有状态小部件

反应将对象传递给模态,然后将对象的状态设置为该对象

如何将对象状态恢复到初始状态?

React - 从一个包更新另一个组件的状态更改

从另一个组件更改组件状态

如何统一将对象的父级更改为另一个插槽父级?