Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html document.createElement(';div';)和React.createElement(';div';)之间有什么区别?_Html_Reactjs_Dom - Fatal编程技术网

Html document.createElement(';div';)和React.createElement(';div';)之间有什么区别?

Html document.createElement(';div';)和React.createElement(';div';)之间有什么区别?,html,reactjs,dom,Html,Reactjs,Dom,str=“这是段落” 上面的str可以由HTML的任何元素组成。因此,为了获得文本,我在react应用程序中使用了下面的code let descriptionDiv = document.createElement('div'); descriptionDiv.innerHTML = description; description = descriptionDiv.textContent || descriptionDiv.innerText; 在这个场景中我需要使用ReactDOM吗 比

str=“这是段落

上面的str可以由HTML的任何元素组成。因此,为了获得文本,我在react应用程序中使用了下面的
code

let descriptionDiv = document.createElement('div');
descriptionDiv.innerHTML = description;
description = descriptionDiv.textContent || descriptionDiv.innerText;
在这个场景中我需要使用ReactDOM吗

比如:
React.createElement('div')


但我不知道什么时候用?直接访问dom安全吗?

React.createElement

React.createElement(
    "button",
          {
            className: "panel-btn-open"
          },
    "Open"
),
 const buttonOpen = document.createElement('button');
 buttonOpen.classList.add('panel-btn-open');
 buttonOpen.textContent = 'Open';
document.createElement

React.createElement(
    "button",
          {
            className: "panel-btn-open"
          },
    "Open"
),
 const buttonOpen = document.createElement('button');
 buttonOpen.classList.add('panel-btn-open');
 buttonOpen.textContent = 'Open';

JSX元素将被传输到React。createElement()函数用于创建React元素,这些元素将用于UI的对象表示 在html中,它只是为dom创建另一个节点

如果要在使用react时访问dom,可以使用ref

要访问DOM,请使用react元素传递ref,然后使用findDOMNode方法访问它

直接使用dom api是完全安全的,但这取决于您的需求。。。简单或您有一些复杂的任务,更喜欢在react中使用ref

范例

import ReactDOM from 'react-dom';

...  

let reactElement = ReactDOM.findDOMNode(this.refs.refName)

...  

<Component ref='refName'/>
从“react dom”导入ReactDOM;
...  
让reactElement=ReactDOM.findDOMNode(this.refs.refName)
...  

我不理解您的最终愿望,但我想您可以使用React完成所有这些事情,而不必像这样到达DOM。我有一个包含HTML标记的字符串。我需要从那读课文。我尝试使用正则表达式,但有时文本不可读。这就是为什么我要这么做?这不是一个推荐的方法吗?也许是类似的方法?