지난 3일차 , 4일차의 날 고생시켰던 오류는 날 힘들게 했고 5일차라 쓰고 일수로 7일차인 오늘 동일한 오류가 계속해서 났다.
결국 찾은 원인은 한 컴포넌트였고 그 컴포넌트를 새로 작성하니 오류가 나지 않았다 .
-> 그 컴포넌트 styledcomponent로 css 작업만 되어있음 ㅠ 뭐가 문젠고 ...
결국 새롭게 컴포넌트를 작성하여 진행하였고 드디어 드디어 메인페이지끝 !!!!!!
일주일동안 메인페이지라니.. ㅠ 또륵
css 작업을 하는 내내 모바일에서 어떻게 보일지, px로 작성할지 %로 작성할지 너무 고민이 되었다-> 반응형 css 어쩌지 일단 진행!
오늘 만났던 트러블들
import styled from "styled-components";
function MainRooms() {
return (
<STContainer>
<STInner>
<div className="header">
<div className="wrap">
<span>ROOM</span>
<h3>객실 미리보기</h3>
</div>
<div className="btn">
<a href="/rooms">MORE</a>
</div>
</div>
<hr />
<div className="cards">
<div className="card">
<label> 코지</label>
</div>
<div className="card">
<label> 코지프리미엄</label>
<div className="img" />
</div>
<div className="card">
<label> 일출</label>
<div className="img" />
</div>
<div className="card">
<label> 일출프리미엄</label>
<div className="img" />
</div>
<div className="card">
<label> 독채</label>
<div className="img" />
</div>
</div>
</STInner>
</STContainer>
);
}
const STContainer = styled.div`
display: flex;
justify-content: center;
position: relative;
top: -20px;
width: 1300px;
height: 485px;
background-image: url("/image/m1_1.jpg");
`;
const STInner = styled.div`
.header {
display: flex;
justify-content: space-between;
align-items: center;
.wrap {
border: 1px solid black;
display: flex;
gap: 20px;
span {
font-size: 44px;
font-weight: 700;
color: #000000;
}
h3 {
color: grey;
}
}
.btn {
display: flex;
align-items: center;
justify-content: center;
background-color: #fc5353;
border-radius: 20px;
width: 83px;
height: 32px;
cursor: pointer;
a {
font-size: 20px;
text-decoration: none;
color: white;
:hover {
color: red;
}
}
:hover {
background-color: white;
}
}
}
.cards {
display: flex;
margin-top: 30px;
gap: 30px;
.card {
width: 300px;
border: 1px solid black;
display: flex;
flex-direction: column;
label {
font-size: 30px;
font-weight: 600;
}
.img {
height: 270px;
width: 100%;
border: 1px solid black;
}
}
}
`;
export default MainRooms;
평생의 미스터리 일것이다 !
solved -> 그냥 새로 만듬 이게 해결책이 맞나 모르겠다
이 사이트의 특징은 게시판들이 회원가입을 하지 않고도 글을 작성 할 수 있다 . 하지만 관리자의 로그인이 있다는것 .. !서버없이도 구현할 수 있을 것같긴하나 이용객들이 작성하는 게시글들, 댓글, 이미지파일등등을 담아줄 서버와 데이터베이스가 없다
가 나의 고민목록 현재 firebase쪽으로 생각이 많이 기울었다 !!!

이번엔 타입스크립트가 발목을 잡음.
-> 이또한 구글링
'react-app-env.d.ts'파일에 kakao의 타입을 추가함

이렇게 해결! react-app-env.d.ts파일에 window object의 타입을 정의해주면 타입을 인식해준다 라는건 배웠지만 완벽하게 이해는 못한듯.
kakao맵을 연결하기 위해선 kakao 디벨로퍼스에서 발급받은 앱키를 스크립트 태그안에 넣어줘야 했는데 이를 환경변수로 관리하고 싶었다.

프로젝트 최상단에 .env파일 생성후 환경변수를 생성해주었다.
그후 index.html파일에서 환경변수를 사용해보았는데

무슨수를 써도 맵이 나오지 않음 설마.. 하고 환경변수가 아닌 그냥 앱키를 하드코딩하니 지도가 뿅하고 생성 그후 구글링
-> html파일에선 "%"기호 두개사이에 환경변수를 넣어야 호출이 된다고 한다
%REACT_APP_KAKAO_API_KEY%
like this...
또하나 배워갑니다요
이런저런 오류들을 뚫고 드디어 메인페이지 완성 + 카카오맵 연동 및 카테고리 하나 거의 완성이 끝이났다!
물론 앞으로 진행해 나갈 친구들은 서버 & 전역상태관리 가 필요한 친구들이라 시간이 더 많이 들거 같긴 하지만 레쓰고
오늘도 재밌었다! 내일도 재미있고 행복한 하루!!!!