将axios.post的响应插入状态



我使用axios连接到我的api,并获得一堆船舶的图形文件。像这样:

axios.get(`/api/serveEnemyShips/graphics-files/${shipId}/files`)
.then((response) => {
this.setState({ files: response.data })
})

这样可以工作并设置文件的状态。

如果用户想要上传自定义图形,那么添加到此状态的最佳方式是什么?

我最初只是使用axios.post上传飞船图形,然后对我的api执行了另一个axios.get,但这似乎很昂贵。

我希望我可以上传图片,然后将响应数据(来自axios帖子(插入我的状态,而不必在上传后再做一个axios.get。

谢谢!

你的最后一段听起来很合理。假设您得到了新创建的图形以响应发布请求,那么您可以将其添加到状态中的数组中。如果您没有在响应中获得数据,那么您很可能已经在本地拥有了所有数据,可以使用这些数据。

示例

axios.post(`/api/serveEnemyShips/graphics-files/${shipId}/files`, newFile)
.then((response) => {
this.setState(previousState => {
return { files: [...previousState.files, response.data] };
});
});

最新更新