게시판
체크된 것에 따라, 메인화면의 게시판이 달라집니다
react-slick
잘 적용 했구요!
게시글 목록
게시글
게시글 작성
메인화면 설정
여기도 선택한대로 메인화면에 반영됩니다!
탑 네비게이션
체크박스
background: url("${checkImg}");
local storage
react-slick
const settings = {
className: "slider-wrapper",
dots: false, // 광고 배너를 상상했을 때, 아래 넘어가는게 느껴지도록 있는 점들
infinite: false, // 계~속 돌게 하는거
slideToShow: 1, // 한번에 보여질 개수
slideToScroll: 1, // 슬라이드 당 넘어갈 수
afterChange: (index) => setSliderId(index), // 인덱스 바꾸는 callback
ref: mySlider, // 다른 슬라이더에 ref 넘겨줌
};
<button onClick={() => moveSlider(0)}>
<UnderLine text="게시판" isActive={sliderId === 0} />
</button>
그래서 상단 네비게이션을 버튼으로 구성해서, 버튼 클릭시 moveSlider()
함수가 호출되어 setSliderID()
를 활용해 페이지 인덱스를 변경해준다.
슬라이더가 작동했을 때도 setting의 afterChange: (index) => setSliderId(index)
를 통해 페이지 인덱스가 변경된다.
즐겨찾는 게시판
진로, 홍보 슬라이더
BoardBox.jsx
를 만듦 const BoardBox = ({ title, contents, to }) => {
return (
<BoardWrapper className="board-wapper">
<div>// 이 곳에 title과 to props를 이용해 제목과 더보기 버튼</div>
<div>
{contents.map((content) => (
<ContentWrapper>
// content는 title, date, like, comments, content를 갖고있음 //
백엔드 연결하면 Link 태그 이용해 게시글 자세히 보는 페이지로 이동
</ContentWrapper>
))}
</div>
</BoardWrapper>
);
};
<Link to={
/board/list/${board.link}}>
로 연결해주기댓글 입력 창
<MainWrapper isSecret={isSecret}>
로 props를 넘겨주고 color: ${(props) => props.isSecret ? COLORS.red : COLORS.grey_400};
로 색을 입혀줬다.이미지 삽입
<input type="file" accept="image/*" />
룰 이용해서 이미지를 업로드 하도록 했다전에 만들어둔게 계속해서 쓰여서, local storage 사용하는거 말곤 새로운건 없었던 것 같다
전에 만들어둔걸 많이 복붙했다..
리액트하면서 제일 어려운건, 요소를 가운데 정렬하는 일인데......^^... 왜 이게 어렵지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ