DB에서 특정 값이 입력된 데이터만 렌더링하기

Chiho Lee·2022년 1월 3일
0

일단 문제는 뭐냐.

게시판에서 내가 파일 삭제를 누르면

파일 고유 번호가 배열에 저장되고, 그 배열 값을 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.

profile
Hello,

0개의 댓글