티스토리 뷰

useMediaQuery 이용

  • 여러 파일에서 사용해야하기 때문에 글로벌하게 사용할 수 있도록 따로 파일을 만들었다
  • 다른 파일에서 컴포넌트처럼 사용하면 된다
  • childeren에 의해 컴포넌트 내에 있는 코드들을 return한다
//mediaQuery.js
import { useMediaQuery } from "react-responsive";

const Mobile = ({ children }) => {
    const isMobile = useMediaQuery({ maxWidth: 1024 })
    return <>{ isMobile && children }</>
}

const Pc = ({ children }) => {
    const isPc = useMediaQuery({ minWidth: 1025 })
    return <>{ isPc && children }</>
}

export { Mobile, Pc };

 

적용하기

function Component() {
    return (
        <div>
            <Pc>
            	<div>Pc에서 보여줄 내용</div>
            </Pc>
            <Mobile>
            	<div>모바일에서 보여줄 내용</div>
            </Mobile>
        </div>
    );
}

export default Component;

 

CSS 파일에서 작성할 때

/* Pc */
@media (min-width:1025px) {
    .button {
        width: 360px;
    }
}

/* Mobile */
@media (max-width:1024px) {
    .button {
        width: 296px;
    }
}

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
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
글 보관함