Reactjs React内部:React如何知道如何正确地重新提交iframe?

Reactjs React内部:React如何知道如何正确地重新提交iframe?,reactjs,iframe,render,virtual-dom,Reactjs,Iframe,Render,Virtual Dom,我正在试验React和Reender iFrame,我不确定如何正确地React Reender iFrame,尤其是那些指向文本编辑器的iFrame。下面是一个JSFIDLE,显示了以下内容: 我指向的文本编辑器并不重要,但我正在做的是,当您单击触发器更新时,它将调用setInterval,它将不断设置新状态,从而触发重新渲染器 我认为可能发生的情况是,当我在iframe中键入时,它有一个textarea,它将不可避免地重新加载,从而使我失去文本编辑器的位置,但不知何故,尽管在控制台.log

我正在试验React和Reender iFrame,我不确定如何正确地React Reender iFrame,尤其是那些指向文本编辑器的iFrame。下面是一个JSFIDLE,显示了以下内容:

我指向的文本编辑器并不重要,但我正在做的是,当您单击触发器更新时,它将调用
setInterval
,它将不断设置新状态,从而触发重新渲染器

我认为可能发生的情况是,当我在
iframe
中键入时,它有一个
textarea
,它将不可避免地重新加载,从而使我失去文本编辑器的位置,但不知何故,尽管在
控制台.log中看到重新加载,我仍然能够无缝地键入,没有任何问题。注意,我不是建议它应该这样做——我只是想知道为什么它不这样做。我知道,但我不希望它保持我的光标位置或我选择的内容


那么React如何更具体地处理重新命名iFrame呢?我读过一些文章(也就是说,但我觉得它们并没有给我很多启示)。它与常规DOM元素有什么不同吗?

好吧,过了一段时间,我想我找到了答案。一般来说,因为React只是创建一个虚拟DOM并在幕后进行差异处理,所以它实际上只是查看iframe元素,而不是生成什么。这是一个完全独立的东西,iframe创建自己的浏览上下文。阅读这本书真的很有用:

HTML元素表示嵌套的浏览上下文,有效地将另一个HTML页面嵌入到当前页面中。在HTML4.01中,文档可以包含头和正文,也可以包含头和框架集,但不能同时包含正文和框架集。但是,可以在普通文档体中使用。每个浏览上下文都有自己的会话历史记录和活动文档。包含嵌入内容的浏览上下文称为父浏览上下文。顶级浏览上下文(没有父级)通常是浏览器窗口

我认为React在解析
iframe
时确实做了一些特殊的事情,但总体来说,它没有太大的偏差


另外,我认为React通常是如何处理输入元素的,这可能是一个有用的信息——请看一下表单的一般情况,因为React有一种完全独立且特殊的方式来处理这些情况。

好的,所以过了一段时间,我想我发现了答案。一般来说,因为React只是创建一个虚拟DOM并在幕后进行差异处理,所以它实际上只是查看iframe元素,而不是生成什么。这是一个完全独立的东西,iframe创建自己的浏览上下文。阅读这本书真的很有用:

HTML元素表示嵌套的浏览上下文,有效地将另一个HTML页面嵌入到当前页面中。在HTML4.01中,文档可以包含头和正文,也可以包含头和框架集,但不能同时包含正文和框架集。但是,可以在普通文档体中使用。每个浏览上下文都有自己的会话历史记录和活动文档。包含嵌入内容的浏览上下文称为父浏览上下文。顶级浏览上下文(没有父级)通常是浏览器窗口

我认为React在解析
iframe
时确实做了一些特殊的事情,但总体来说,它没有太大的偏差

另外,我认为React通常是如何处理输入元素的,这可能是一个有用的信息——请看一下表单的一般情况,因为React有一种完全独立且特殊的方式来处理这些情况