API Fetch仅更新一个数据

如何通过API仅更新一个数据?我想从status: 4更改为status: 5

这是我的代码

export const cancelRequest = async id => {
 const response = await fetch(`API_URL/link/link/${id}`,{
  method: 'put',headers: {
    'Content-Type': 'application/json',Authorization: `Bearer ${Auth.getToken()}`,},});
  return getData(response);
};

通过另一个文件调用

const onCancelRequest = async id => {
  let cancelItem = dataAll.filter(item => item.id == id);

  await TriggerRequestAPI.cancelRequest(id)
    .then(data => {
      data.json();
      cancelItem[0].status = 5;
      setIsAll(cancelItem);
  })
  .catch(error => console.log(error));
};
LXQ_0813 回答:API Fetch仅更新一个数据

您需要先更新商品,然后调用API:

const onCancelRequest = async id => {
  const cancelItems = dataAll.filter(item => item.id == id);

  if(cancelItems.length === 0) {
    return;
  }
  // Update the item
  cancelItems[0].status = 5;

  // Then call the API
  await TriggerRequestAPI.cancelRequest(id,cancelItems[0])
    .then(data => {
      return data.json();
    })
    .then(item => {
      setIsAll(cancelItems);
    })
    .catch(error => console.log(error));
};

API

export const cancelRequest = async(id,item) => {
 const response = await fetch(`API_URL/link/link/${id}`,{
  method: 'put',headers: {
    'Content-Type': 'application/json',Authorization: `Bearer ${Auth.getToken()}`,},body: JSON.stringify(item) // item to update
  });
  return getData(response);
};
本文链接:https://www.f2er.com/3110668.html

大家都在问