React.js:设置innerHTML vs危险设置SetInnerHTML

JavaScript

理查德Itachi

2020-03-11

在元素上设置元素的innerHTML与在元素上设置危险地设置InnerHTML属性有什么“幕后”区别?假设为简单起见,我正在对事物进行适当的消毒。

例:

var test = React.createClass({
  render: function(){
    return (
      <div contentEditable='true' dangerouslySetInnerHTML={{ __html: "Hello" }}></div>
    );
  }
});

var test = React.createClass({
  componentDidUpdate: function(prevProp, prevState){
    this.refs.test.innerHTML = "Hello";
  },
  render: function(){
    return (
      <div contentEditable='true' ref='test'></div>
    );
  }
});

我做的事情比上面的示例复杂一些,但总体思路是相同的

第654篇《React.js:设置innerHTML vs危险设置SetInnerHTML》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
Gil前端 2020.03.11

基于(危险地为SetInnerHTML)。

这是一款完全可以满足您需求的道具。但是,它们的名称表示要谨慎使用

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android