이런 상황이 있을 수 있다. 예를 들어 sample.com이라는 사이트의 상품 리스트 페이지는 sample.com/lists 라고 치자. 근데 리스트 페이지는 어디나 그렇듯 소팅을 해야하고 전체 목록을 보여준다고 해도 ‘전체’ 카테고리가 선택 돼 있을 것이다. 때문에 sample.com/lists?sort=all 등의 파라미터를 설정해야하는데, sample.com/lists로 파라미터 없이 접속했을 때 에러로 인한 리다이렉트가 아닌 디폴트로 sort=all 등의 파라미터를 설정해줄 수는 없을까? Nextjs의 장점인 ssr을 사용하면 설정하기 쉽다. 원리는, 서버사이드에서 파라미터를 파싱해서 없으면 해당 파라미터를 가진 url로 리다이렉트 시켜주고 그렇지 않으면 원래대로 넘기는 방식이다. 아래와 같이 설..
분명 어디선가 본 것 같은데... 예시를 못 찾겠다ㅜㅜ 상세페이지에 해당 상품의 후기가 10개 정도 올라와 있고, 이 후기 중에 원하는 후기 하나를 누르면 후기 전체 페이지에서 클릭한 후기로 자동 스크롤되고 반짝이며 포커싱 되는 기능이다. 물론 구현을 위해서는 백엔드 쪽에서 데이터에 해당 후기의 고유번호를 넣어주어야 한다. 간단히 필수적인 기능들만 들어간 페이지 두 개로 실습해보자. 데이터는 목데이터로 단순하게 넣을 것이다. 참고로 기능만 집중적으로 살펴 볼 예정이기 때문에 전체 파일의 코드를 언급하지는 않으려고 한다. 혹시나 필요하신 분이 계시면 댓글 달아주세요... 깃허브에 올리겠습니다... 기본 세팅은 아래와 같다. pages > review > index.js 리뷰를 10개만 보여주는 미리보기 페..
오늘 실습해 볼 것은 아래와 같습니다. 주어진 데이터는 100점 만점 기준 해당 브랜드의 평균 평점입니다. 아마 93점 이렇게 나오겠죠? 별점은 정말 세세하게 퍼센트로 채워짐을 표현해야합니다. 물론! 이를 구현함에 있어 정말 많은 좋은 방법들이 있습니다. 처음 떠올렸던 방법은 별모양 다섯개를 한 묶음으로 status bar를 제작했던 원리와 비슷하게 overflow hidden으로 채워진 것 과 같은 표현을 주는 것 이었습니다. 그러나 주어진 별모양 파일은 svg였고 새로 만들고 싶지 않았습니다. 전체 웹사이트에 통일된 코드기도 했고요. 때문에 각 별 svg마다의 clip-path를 지정해서 5개로 총 길이를 나누는 방법을 사용하려고 합니다. 별 하나만 있는 샘플 코드는 아래와 같습니다. 보라색을 좋아해..
Dynamic title은 아래와 같다. head의 title 부분을 주목해서 보면 검색어를 입력했을 때 검색어에 따라 title이 바뀌는 모습을 볼 수 있다. 만약에 검색어가 없으면 아래와 같이 뜬다. 또 이런거 전문이 next.js이기 때문에 아주 간단하게 설명을 해보겠다. 해당 head를 원하는 페이지의 return에 아래와 같은 코드를 넣자. import Head from "next/head" ""(큰따옴표)를 표시하기 위해서는 엔티티 코드를 사용해야 하는데, 이는 "이다. res는 따로 변수 처리 해 둔 검색어이다. 그런데 이렇게 하면 검색어가 없을 때도 "" 검색결과 라고 뜨기 때문에 예외처리를 해 주어야 한다. sdv는 우리 팀 이름이다. 아무튼, 이렇게 간단히 삼항연산자로 해결을 봤다. 너..
- Total
- Today
- Yesterday
- 리액트 파라미터 넘기기
- css 글래스모피즘
- vscode venv
- Til
- nextjs 파라미터 넘기기
- 파이썬 flask
- 파이썬 정렬
- 백준 10989 파이썬
- bs4 크롤링
- getserversideprops redirect
- 글래스모피즘 애니메이션 구현
- 리액트 스크롤
- nuxt 공식문서
- css marquee
- NextJS
- react router
- next.js 리다이렉트
- 화이팅
- 글래스모피즘 구현
- 리액트 라우터
- 카페음료테스트
- 리액트 컴포넌트
- 자바스크립트
- 움직이는 글래스모피즘
- nextjs 스크롤
- 파이썬 크롤링
- 10989 파이썬
- nuxt 공식문서 한글
- dvd 효과
- 리액트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |