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

如何将json数据返回到React状态?

澹台宾白
2023-03-14
问题内容

我有一个对.post快速服务器(我自己的服务器)进行反应的组件。服务器用于web3在上签署交易Ethereum。一旦将交易包含在一个块中,就将一个json对象返回给服务器。看起来像这样:

{ blockHash: '0xcd08039bac40e2865886e8f707ce9b901978c339d3abb81516787b0357f53fbd',
  blockNumber: 4611028,
 ...other data...
  transactionHash: '0x12c65523743ed169c764553ed2e0fb2af1710bb20a41b390276ffc2d5923c6a9',
  transactionIndex: 1 }

我需要将存入transactionHash上述组件的状态。我已经搜索了2天,可能丢失了一些非常明显的内容。

这是服务器端代码还是客户端代码?由于与之交谈的固有时间延迟,我是否需要学习和使用异步Ethereum

任何帮助表示赞赏!

谢谢


问题答案:

要发出发布请求,您必须通过componentDidMount在客户端执行此请求,然后像往常一样存储响应。您可以在此处找到完整的示例:react页面上的https://reactjs.org/docs/faq-
ajax.html

fetch("https://api.example.com/items")
    .then(res => res.json())
    .then(response => this.setState(response));

您将不得不将提取操作调整为后期请求,但是您可以在此处找到与提取有关的更多信息:https : //developer.mozilla.org/en-
US/docs/Web/API/Fetch_API/Using_Fetch

fetch("https://api.example.com/items", {
  method: 'POST',
  body: JSON.stringify(data),
  headers:{
    'Content-Type': 'application/json'
  }
})
.then(res => res.json())
.then(response => this.setState(response))
.catch(error => console.error('Error:', error));

编辑(例如Axios):

componentDidMount() {
    axios.get("https://api.example.com/items")
      .then(res => {
        const items = res.data;
        this.setState(items);
      })
  }


 类似资料:
  • 当我使用MVC控制器时,我使用“返回OK(对象)”或“返回BadRequest(ErrorMessage)”等。 我怎样才能实现这是剃刀页? 我尝试返回新的JSON result(object);这在状态代码为200时有效。但是如果我想返回带有JSON错误消息的状态代码400呢?

  • 我是React的新手,并试图了解函数组件中的挂钩。我在应用程序的公共目录中的本地. json文件中有一个Products对象数组。在我的src目录中,我有我的Products组件。我需要将. json数据带入该组件并在页面上呈现它。我使用useState()挂钩来设置产品和setProducts const。然后我使用getData函数获取json数据,该函数使用该数据调用setProducts(

  • 我是React Native的新手,我正在尝试将第一个查询的数据数组返回到设备屏幕,在那里我可以设置设备。我使用.get()和.then()进行了此工作,但我没有得到更新的事件,所以我已经移动到onSnapshot,似乎在查询端有数据,但无法在屏幕上获得此集合。 出现此错误。如果我删除.then(setDevices),我可以在console.log上看到数据数组 谢谢

  • 问题内容: 我正在尝试检索JSON对象(我已验证的文件格式正确)中的数据,并将数据输出到firebug控制台中。我使用JSONLint(http://jsonlint.com/)验证了JSON,并且知道数据没有在JSON对象中返回,因为当我记录它时,它是以文本而不是对象的形式记录的。当我查看ajax帖子时,有一个JSON选项卡,其中显示了该对象,出于某种原因,我只是无法检索它。 我的ajax电话是

  • 我正在转换一个建在Wordpress上的大型网站来回应,我的问题是: 在ComponentDidMount上,我将调用一个API并获得一长串ID列表,这些ID将添加到我的状态中。ID对应于需要动态呈现的人员。 所以现在我将状态设置为ID数组,我将对其进行映射以返回一些JSX, 即arrayids.map(id=>{return img src={async value====img URL ret

  • 问题内容: 我正在使用ajax发布一些数据。我想处理该数据并返回到调用jQuery脚本。 这是我的jQuery: 这是我在服务器上的somescript.php: 我在服务器端是否正确执行此操作?ajax调用完成后如何访问返回字符串? 问题答案: 我想到了。需要在PHP中使用echo而不是return。 和jQ: