0. 홍보
http://my-mythology-character.site/
젭알 광고 많이 눌러주세요 엉엉
코드는 여기서 보실 수 있습니다.
https://github.com/BUZZINGPolarBear/Myth-MBTI
1. 404페이지 만들기
이전 포스팅에서 이어지는 부분입니다. React Router Dom으로 라우팅 페이지가 구성되어져 있어야 합니다.
우선 라우팅 규칙의 제일 하단에 다음과 같이 "/*"를 넣어줍니다.
정규 표현식 *(스타)는 어떤 길이의 문자열이 와도 결과에 포함시키므로, 라우팅 규칙 하단에 위치하지 않으면 사용자가 옳바른 주소를 입력해도 404페이지를 반환할 수 있습니다.
예를 들면 이런 식입니다.
<BrowserRouter>
<Routes>
<Route path="/" element={<BrowerMain />} />
<Route path="/result" element={<Result />}></Route>
<Route path="/test" element={<Test />}></Route>
<Route path="/*" element={<NotFound />}></Route>
</Routes>
</BrowserRouter>
그럼 이제, NotFound 페이지를 만들어봅시다. 저는 이렇게 작성했습니다.
//NotFound.js
import styled from "styled-components";
import {isBrowser, isMobile} from "react-device-detect";
function NotFound() {
const MainPicArea = styled.div`
width: 350px;
height: 350px;
margin: auto;
`;
const MainPic = styled.img`
width: 100%;
height: 100%;
`;
const TitleArea = styled.div`
width: 100%;
font-size: 1.5rem;
font-weight: 600;
margin: auto;
margin-top: 1.2rem;
text-align: center;
`;
const SubTitleArea = styled.div`
width: 100%;
font-size: 1.2rem;
margin: auto;
margin-top: 1.2rem;
line-height: 1.5rem;
text-align: center;
`;
if (isBrowser) {
const BrowserApp = styled.div`
width: 60vw;
height: 100vh;
margin: auto;
padding-top: 5vh;
`;
return (
<div>
<BrowserApp>
<MainPicArea>
<MainPic
src="/images/404.jpeg"
alt="main"
/>
<TitleArea>404 Error</TitleArea>
<SubTitleArea>
여긴 어디죠...? <br></br> 이 페이지는 존재하지 않습니다.
</SubTitleArea>
</MainPicArea>
</BrowserApp>
</div>
);
}
if (isMobile) {
const MobileBrowserApp = styled.div`
width: 98vw;
height: 100vh;
margin: auto;
padding-top: 5vh;
`;
return (
<div>
<MobileBrowserApp>
<MainPicArea>
<MainPic
src="./images/404.jpeg"
alt="main"
/>
<TitleArea>404 Error</TitleArea>
<SubTitleArea>
여긴 어디죠...? <br></br> 이 페이지는 존재하지 않습니다.
</SubTitleArea>
</MainPicArea>
</MobileBrowserApp>
</div>
);
}
}
export default NotFound;
사이트에는 다음과 같이 보이게 됩니다.
http://my-mythology-character.site/blahblah
감사합니다.
'개발기 > 리액트 MBTI페이지 개발기' 카테고리의 다른 글
[리액트 MBTI - 기획부터 배포까지] 1. React로 하위 페이지 만들기(React Router Dom) (0) | 2023.01.25 |
---|---|
[리액트 MBTI - 기획부터 배포까지] 0. 프로젝트 기획 및 성격 분석 (0) | 2023.01.25 |