react,接口文档显示,项目上下架patch方式里的有一个叫shelf的参数,如何使用shelf参数?

在使用的react版本如下:

img

已写的代码:

// ...
  const deleteRent = (item) => {
     API.patch(`/user/houses/${item.houseCode}`).then(() => {
      // ...
    })

patch接口显示需要shelf:

img

希望实现如下效果,点击某项后,被点击项被下架,不再显示在原来的页面里,即使刷新或重新进入原来的页面也不会再出现

请问shelf的使用是这样吗:

// ...
  const deleteRent = (item) => {
     API.patch(`/user/houses/${item.houseCode}`,
        params: {
                       shelf: false     
                       }
        ).then(() => {
      // ...
    })

请问项目上下架里的shelf参数的正确使用方法是什么?请在现有代码基础上展示举例说明~

望采纳!!!点击该回答右侧的“采纳”按钮即可采纳!!!

首先,你需要在你的 react 组件中将 shelf 参数作为一个 prop 传递给你的 API 调用。

其次,你需要在你的 API 调用的 patch 方法中使用 shelf 参数。

我看了你写的,没问题的:

const deleteRent = (item) => {
API.patch(/user/houses/${item.houseCode}, { shelf: 'off' }).then(() => {
// ...
})
}


这样,你的 patch 调用就会将 shelf 参数传递给服务器,服务器会根据 shelf 参数进行相应的操作(例如下架某项)。

最后,你提到被点击的项不再显示在界面上 ,我建议你可以在你的 react 组件中使用 setState 方法更新你的数据。

我给你个例子:

const deleteRent = (item) => {
API.patch(/user/houses/${item.houseCode}, { shelf: 'off' }).then(() => {
// 从数组中删除被点击的项
setState((prevState) => ({
items: prevState.items.filter((i) => i.houseCode !== item.houseCode)
}))
})
}