Reduxストアを使用するReactコンポーネントがあります。 componentDidMountでは、このコンポーネントはiframeに他のコンポーネントも追加する必要があります。このiframeは、コンポーネントコードでは作成されていない独立したものです。追加Reduxコンポーネントとiframeに対応
<iframe src="empty.html"></iframe>
componentDidMount(){
let iframe = document.querySelector('iframe');
let iframeBody = iframe.contentWindow.document.body;
let el = iframe.contentWindow.document.createElement('div');
iframeBody.appendChild(el);
ReactDOM.render(<ReactRedux.Provider store={store}><SkCanvas /></ReactRedux.Provider>,iframeBody.querySelector('div'));
}
このコードではエラーは発生しません。新しいコンポーネントでは、SkCanvas
はconsole.log
であり、このログはコンソールに表示されます。ちょうどhtmlのコードは、iframeの内側に表示されます。 もちろん、このコンポーネントをiframe以外の要素に追加しようとすると動作します。
どのようにすればいいですか?
ifrmae(init)にこのコンポーネントを手動で設定することもできますが、このコンポーネント間でストアを共有する必要があります。
ありがとうございました。
_このコードはエラーを投げません。新しいコンポーネントSkCanvasでは、console.logにpropsがあり、このログはコンソールに表示されます。ちょうどhtmlコードでiframeの内部に表示されます._より正確なことができますか?どのコンポーネントを追加しますか? console.logのo/pとは何ですか? – Dane
' 'は、他のコンポーネントによってiframeに追加されます。 SkCanvasでは 'console.log(props)'があり、このログは可視です。しかし、htmlはiframe内では表示されません。 一般的に私が必要とするのは、iframeとifindexのコードを区別するCSSスタイルを使用することだけです。 –
jaroApp
これは他のコンポーネントですか?どのコンポーネントにこの 'componentDidMount'が属していますか? – Dane