쿼리스트링을 통해 데이터를 보낸다.
back/routes/posts.js현재 스크롤을 내리면 같은 게시글을 계속 불러오는 버그가 있습니다. 여러 방법 중 lastId 방식으로 이 문제를 해결하는데, 먼저 mainPosts의 마지막(첫번째) 게시글의 id를 찾아서 이걸 lastId로 데이터를 전달해줍니다. 하지만, get방식은 데이터를 보낼 수 없기 때문에 넣으려면
쿼리스트링(/주소?key=${value}
)를 이용해야 됩니다.
쿼리스트링의 값은 req.query에 담겨있으므로 req.query.lastId를 백엔드에서 값으로 사용합니다. 또한, 서비스가 처음 시작되는 경우, lastId의 값이 undefined가 되어버려서 에러가 발생할 수 있습니다. 초기로딩이 아닐시에는 if(parseInt(req.query.lastId, 10)) 구문을 통해 게시글을 10개씩 가져오게 됩니다.
sequelize 공식 문서
lastId보다 작으면 게시글을 로드하게끔 하기 위해 sequelize의 Operator를 이용합니다. 보통 아래같은 속성을 주로 사용합니다.