私はReactを試していてiframeを再レンダリングしていましたが、Reactがiframeを正しく再レンダリングする方法、特にテキストエディタを指すものを正しく再レンダリングする方法がわかりませんでした。ここでは、このを示すjsFiddleです:React internals:Reactはiframeを正しく再レンダリングする方法をどのように知っていますか?
https://jsfiddle.net/augburto/fkqnm329/2/
は私が指すテキストエディタは重要ではありませんが、私がやっていることは、あなたがトリガー更新]をクリックしたときに、それは常に新しい状態を設定しますsetInterval
を呼び出すとしますです再レンダリングを引き起こします。
textarea
を入力したiframe
を入力すると、必然的に再レンダリングされ、テキストエディタの位置が失われてしまいますが、どうにか見ても問題なくシームレスに入力できます再レンダリングはconsole.log
にあります。注:私はそれがこれを行う必要が示唆されていない - 私はそれがなぜそれをしないのだろうかと思っています。私はReact internals do some smart things like transactionsを知っていますが、カーソルの位置や選択した位置を維持することは期待できません。
Reactがiframeを再レンダリングする方法を具体的にどのように扱いますか?記事を読んだことがあります(つまり、thisとthisですが、私の気持ちはよく分かりません)。それは通常のDOM要素とはまったく異なりますか?