반응형
쿼리스트링과 lastId 방식
현재 스크롤을 내리면 같은 게시글을 계속 불러오는 버그가 있습니다. 여러 방법 중 lastId 방식으로 이 문제를 해결하는데, 먼저 mainPosts의 마지막(첫번째) 게시글의 id를 찾아서 이걸 lastId로 데이터를 전달해줍니다. 하지만, get방식은 데이터를 보낼 수 없기 때문에 넣으려면 쿼리스트링(`/주소?key=${value}`)를 이용해야 됩니다.
쿼리스트링의 값은 req.query에 담겨있으므로 req.query.lastId를 백엔드에서 값으로 사용합니다. 또한, 서비스가 처음 시작되는 경우, lastId의 값이 undefined가 되어버려서 에러가 발생할 수 있습니다. 초기로딩이 아닐시에는 if(parseInt(req.query.lastId, 10)) 구문을 통해 게시글을 10개씩 가져오게 됩니다.
lastId보다 작으면 게시글을 로드하게끔 하기 위해 sequelize의 Operator를 이용합니다. 보통 아래같은 속성을 주로 사용합니다.
- gt: 보다 큰
- gte: 보다 크거나 같은
- lt: 보다 작은
- lte: 보다 작거나 같은
- between: 사이에
참조자료
반응형
'NodeBird 복습 > node.js' 카테고리의 다른 글
react nodeBird 2-8 (multer, express static, 해시태그 완성하기) (0) | 2021.05.13 |
---|---|
react nodeBird 2-7 (좋아요, 게시글 삭제, 닉네임수정하기) (0) | 2021.05.11 |
react nodeBird 2-6 (게시글 불러오기, morgan 도입하기) (0) | 2021.05.10 |
react nodeBird 2-5 (게시글 댓글 완성, 로그인정보, credentials 이해하기) (0) | 2021.05.08 |
react nodeBird 2-4 (로그인완성 & 쿠키, 세션 이해하기) (0) | 2021.05.06 |