jsx
속성 중 dangerouslySetInnerHTML
은 문자열을 주입하여 innerHTML
을 적용하는 역할을 한다. 이때 변환되는 마크업 태그는 jsx
가 아니라 일반 html
태그가 된다.
따라서 Tailwind CSS
클래스를 적용 시 className
이 아니라 class
를 입려해야 정상적으로 적용된다.
const Dangerous = () => {
// not <strong className="...">Hello World!</strong>
const dangerHtml = `
<strong class="font-bold bg-gray-400 rounded-md">Hello World!</strong>
`;
return <div dangerouslySetInnerHTML={{ __html: dangerHtml }} />
}
참고
github/tailwindcss - issue #7756
stackoverflow - why styles don't apply on dangerouslySetInnerHTML