사용자가 문구를 읽고 버튼을 클릭하려는데
상단에 광고가 뜨며 레이아웃이 밀리고
잘못 된 버튼을 눌러버려 지갑이 탈탈 털리게 된 사례
< googlefont 모듈 중 Noto_Sans 부분 >
// font module
import { Noto_Sans } from 'next/font/google'
<layout.js>
// 변수에 할당 subsets에 'korean'
const notoSans = Noto_Sans({ subsets: ['latin'], weight: '300' })
export default function RootLayout({ children }) {
return (
<html lang="en">
{/* 폰트 적용 */}
<body className={notoSans.className}>{children}</body>
</html>
)
}
export type NextFont = {
className: string;
style: {
fontFamily: string;
fontWeight?: number;
fontStyle?: string;
};
};
개발자 도구에서 body의 style
.__className_99f504 {
font-family: '__Noto_Sans_99f504', '__Noto_Sans_Fallback_99f504';
font-weight: 300;
font-style: normal;
}
NextFont라는 className과 style이 정의 된 객체가
className 속성으로 전달되는데 왜 style이 적용되는 것이지.........?
style={}
에 style이 정의된 객체
를 전달하는 건 아는데,className
에 style이 정의 된 객체
를 넣어서 어떻게 style이 적용되지..?__className_99f504
이 className에 대한공식문서와 TS로 작성된 함수들에 대한 설명을 읽는데 어려움이 많다.