일반적으로 코드에서 HTML을 설정하는 것은 cross-site scripting(XSS) 공격에 쉽게 노출될 수 있기 때문에 위험하다고 한다. 그래서 XSS공격을 막기 위해, 렌더링 메서드 내부에서 html 태그가 담겨있는 문자열 형태를 렌더링 하면, 태그가 먹히지 않고 문자열 그대로 렌더링되게 된다.
let codes = "<b>Will This Work?</b>";
return (
<div dangerouslySetInnerHTML={ {__html: codes} }>
</div>
);
dangerouslySetInnerHTML={ {__html: codes} }
<- 이 코드가 핵심이다. 이름만 봐도 해킹 위험성을 충분히 경고하고 있다.