일단 문제는 뭐냐.
게시판에서 내가 파일 삭제를 누르면
파일 고유 번호가 배열에 저장되고, 그 배열 값을 API로 전송해 DB로 보낸다.
그럼 DB에서 해당 고유 번호를 가진 파일의 IS_DELETE값을 0에서 1로 바꿔준다.
내가 API를 써서 파일들을 불러올 때, IS_DELETE값이 0인(삭제되지 않은) 파일만 불러오고 싶은데, 그게 안 됐다.
해결책 ==
For example)
[
{PK:1, NAME:'Hello.jpg', IS_DELETE: 0}
{PK:2, NAME:'Nice.jpg', IS_DELETE: 1}
{PK:3, NAME:'To.jpg', IS_DELETE: 0}
]
이게 만약 우리 DB의 파일 값이라고 가정하자.
여기서 IS_DELETE가 1인 PK:2 파일을 렌더링 하면 안 되는데, 어떻게 하면 되냐,
const getDetails = async () => {
await get(`URL`)
.then((res) => {
const filtered = res.filter(file => file.IS_DELETE === 0);
setFiles(filtered);
})
}
이렇게 하면 된다.
아니 이러면, filtered 변수를 지정하고 또 복잡해지잖아요, 그냥 DB에서 0인 것만 받아오면 안돼요?
== 답변이다.
No, you cannot modify the response you get from server unless it specifically has an endpoint to do so. It's like sending a letter and awqiting the response - you cannot make the response diffeent unless your recipient allows you to send a letter with a specific request (eg. 'give me only non-deleted items'), but if you're not in charge of the server, the only thing you can do is indeed filtering the items you get in response.
끝