[12-1] 라이브러리
[12-2] 별점 구현하기
[12-3] 경고창 모달로 변경하기
[12-4] 주소 및 우편번호
[12-5] 캐러셀 이미지 (React-slick)
import { Rate } from "antd"; import { useState } from "react"; export default function Star() { const [value, setValue] = useState(3); function handleChange(value: number) { setValue(value); } return <Rate onChange={handleChange} value={value} />; }
Modal
을 이용해서 더 다양한 기능과 디자인으로 경고창을 만들 수 있다.import { useState } from 'react'; import { Modal, Wrapper, ModalWrapper } from '../../src/test2'; export default function ModalTest() { const [isTrue, setIsTrue] = useState(false); const handleModal = () => { setIsTrue((prev) => !prev); }; return ( <> <Wrapper> <button onClick={handleModal}>나와라 모달</button> {isTrue && ( <ModalWrapper> <Modal> <button onClick={handleModal}>모달 닫기</button> </Modal> </ModalWrapper> )} </Wrapper> </> ); }
import styled from '@emotion/styled'; export const Wrapper = styled.div` width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; `; export const ModalWrapper = styled.div` position: absolute; display: flex; justify-content: center; width: 100vw; height: 100vh; background: black; opacity: 0.7; `; export const Modal = styled.div` position: absolute; display: flex; justify-content: center; align-items: center; background-color: white; top: 100px; width: 300px; height: 300px; border: 1px solid black; border-radius: 20px; `;
Modal
은 보통 다른 Tag들 보다 앞에 있어야 하기 때문에 position:absolute
속성을 주게 된다.💡 UI 프레임워크의 종류
Ant-Design
Material-UI
이외에도
React Bootstrap
Semantic-UI
등이 있다.
각 프레임워크마다 스타일이 조금씩 다르니 원하는 프레임워크를 선택하여 사용해야된다.
yarn add react-daum-postcode