gpt4 book ai didi

reactjs - 不使用状态而将数据临时存储在组件中

转载 作者:行者123 更新时间:2023-12-03 14:22:01 24 4
gpt4 key购买 nike

我有一个 React 应用程序,它查询本地 http 点并每隔几秒返回数据。每次 ajax 请求返回时,我都会将返回的一些信息打包到一个对象中,并将该对象添加到一个数组中。这意味着每次 ajax 调用返回时,我都必须

  1. 从状态获取数组
  2. 将对象添加到数组后,将新数组添加到状态

由于状态的不断更新,我的 React 应用程序会自动渲染(并且不必要)。由于将对象添加到数组(然后将数组存储在状态中),UI 中没有任何变化,但 React 会自动渲染。

问题:有没有一种方法可以在不使用状态的情况下让组件中的不同函数调用访问数组?

  var arr = this.state.arrayOfObjects.slice();
obj = {};
var timeStamp = Date.now();
obj['stuffFromApi'] = apiStuff;
obj['timeStamp'] = timeStamp;
arr.push(obj);
this.setState({ arrayOfObjects: arr});

最佳答案

您可以只使用实例变量:

this.arrayOfObjects = this.arrayOfObjects || []; // can also be initialized in componentWillMount method.
obj = {};
var timeStamp = Date.now();
obj['stuffFromApi'] = apiStuff;
obj['timeStamp'] = timeStamp;
this.arrayOfObjects.push(obj);

然后您也可以从其他函数访问 this.arrayOfObjects

关于reactjs - 不使用状态而将数据临时存储在组件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28548370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com