gpt4 book ai didi

javascript - api调用后更新组件的正确方法是什么

转载 作者:行者123 更新时间:2023-11-28 10:40:08 27 4
gpt4 key购买 nike

假设我有这个组件,它将定期从 API 获取所有数据。

//在父组件上

constructor(props) {
super(props);
this.state = {
datas: [],
}
this.apiCall = this.apiCall.bind.this
}

apiCall(){
//fetch data here
this.setState({
datas: //result from fetch
})
}

ComponentDidMount(){
this.interval = setInterval(() => this.apiCall(), 10000);
}

handleEditData(){
//api call, edit one data in server using POST
}

...
<ChildComponent onEdit={this.handleEdit}/>

子组件编辑数据时该怎么办?或者我应该在handleEditData中放入什么?

  1. 我是否应该通过向 api 发送 POST 来编辑一项数据,然后使用 handleEdit 中的 setState 手动更新本地状态?
  2. 或者我应该发送 POST 到 api,然后调用 apiCall 函数来获取新数据,这些数据会更改其状态并重新渲染?

谢谢

最佳答案

这是一个有趣的问题,它不是一个关于 React 的问题,而是一个资源管理问题。要问的问题是数据在做什么。如果您有需要记录的数据,则应使用 API 存储数据。如果数据要在您的应用程序中重复使用并且您已经拥有它,为什么不在原位使用它呢?它减少了您的调用(从而使应用程序更加高效),并且在此过程中减少了一个损坏点。

重申一下:当你设计一个系统时,在涉及更多移动部件之前,你应该先考虑局部情况。我只是简单地冒泡数据并将 setState 与本地对象一起使用。

关于javascript - api调用后更新组件的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52982546/

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