当前位置: 首页 > 面试题库 >

在componentDidMount()上设置状态

吕森
2023-03-14
问题内容

我知道将状态设置为打开是一种反模式componentDidMount应该将状态设置为打开,componentWillMount但是假设我想将li标记数量的长度设置为状态。在那种情况下,我无法将状态设置为on,componentWillMount因为li在该阶段可能未安装标签。那么,这里最好的选择是什么?如果将状态设置为开启,会componentDidMount好吗?


问题答案:

这不是一个反模式调用setStatecomponentDidMount。实际上,ReactJS在其文档中提供了一个示例:

您应该在componentDidMount生命周期方法中使用AJAX调用填充数据。这样一来,您可以在检索数据时使用setState更新组件。

Doc中的示例

componentDidMount() {
    fetch("https://api.example.com/items")
      .then(res => res.json())
      .then(
        (result) => {
          this.setState({
            isLoaded: true,
            items: result.items
          });
        },
        // Note: it's important to handle errors here
        // instead of a catch() block so that we don't swallow
        // exceptions from actual bugs in components.
        (error) => {
          this.setState({
            isLoaded: true,
            error
          });
        }
      )
  }


 类似资料:
  • 我知道这是一个具有约束力的问题,但我不确定在哪里绑定它。我尝试了一些不同的方法。 问题发生在应用程序上。\u当用户更改下拉框时选择。我希望它更新状态,以强制日历组件重新加载。 应用程序 选择器

  • 问题内容: 我正在创建一个简单的聊天应用程序,在其中我通过axios对数据库进行api调用,该API返回了一系列消息对象。我可以在componentWillMount中进行axios调用时获取数据。然后,我试图设置状态以显示对话。这是代码: 我看过一些有关生命周期功能和设置状态的帖子,似乎我在做正确的事情。 再次强调,axios调用正常,设置状态不正常。我仍然看到一个空数组。提前致谢! 编辑:这是

  • 问题内容: 我有一个类似的反应成分 使用react-navigation我通常会通过说来应用导航选项 使用打字稿我得到了错误 我怎样才能解决这个问题? 我尝试编写一个界面 但是没有运气。 问题答案: 关键思想是为常量指定正确的类型。可能已经提供了该类型。但是,您也可以这样扩展内置接口:

  • 接口说明 设置场景状态 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /wish3dearth/api/scene/v1.0.0/setSceneStatus 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN sceneId string f

  • 接口说明 设置场景状态 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 POST /wish3dearth/api/scene/v1.0.0/set