Frontend/react
[ react ] dangerouslySetInnerHTML
IT grow.
2023. 7. 21. 08:56
반응형
블로그를 만들던 중에 , hygraph 에서 내가만든 컨텐츠 내용을 가져오는 부분이 있었는데 , hygraph에서 제공해주는 api를 통해서 content 내역을 string 가져와 그대로 뿌려주다 보니 , string 으로 된 html을 우리가 알고있는 html 형태로 바꿔줘야 하는 문제가 생겼다.
그러다가 알게된 dangerouslySetInnerHTML .. ! 어마어마한 녀석을 알게되었다.
dangerouslySetInnerHTML 은 무엇인가 ?
-> 브라우저 DOM에서 innerHTML을 사용하기 위한 React의 대체 방법
사용방법
function createMarkup() {
return {__html: 'First · Second'};
}
적용예제
export default function BlogPost({post}){
return (
<main className={styles.blogContainer}>
<div className={styles.inner_blogContainer}>
{/* <img src={post.coverPhoto.url} className={styles.cover} alt="" /> */}
<div className={styles.mainTitleArea}>
<h1 className={styles.mainTitle}>{post.title}</h1>
</div>
<div className={styles.content} dangerouslySetInnerHTML={ {__html:post.content.html}}></div>
</div>
<div className={styles.authorArea}>
<img className={styles.avatarImg} src = {post.author.avatar.url} alt="" />
<div className={styles.authtext}>
<h6> By {post.author.name}</h6>
<h6 className={styles.date}>{post.dataPublished}</h6>
</div>
</div>
</main>
)
}
반응형