react的dangerouslySetInnerHTML加入script为什么没有执行?

  const [innerHtml, setInnerHtml] = useState('');

<div dangerouslySetInnerHTML={{
        __html: innerHtml
      }}></div>

      <Input value={innerHtml} onChange={(e) => setInnerHtml(e.target.value)}></Input>

如上面的代码,大概就是input输入的内容,放到div的dangerouslySetInnerHTML中。

然后我input输入

<script type="text/javascript">console.log('我')</script>        

图片.png

页面上script标签已经有了,但是在控制台未看到log,是不是react对dangerouslySetInnerHTML做了script的过滤?

阅读 3.3k
1 个回答

和react无关,innerHtml文档写了,HTML 5 中指定不执行由 innerHTML 插入的 <script> 标签。
image.png

推荐问题
logo
Microsoft
子站问答
访问
宣传栏