私のアプリケーションにはタイルの概念があります。DOM内に配置する前にReactJSコンポーネントをメモリにレンダリングする
タイルが動的に読み込まれます。 init
メソッドを使用してDOM要素に対して初期化することができます。タイルはレンダリング自体を処理します。
機能/私のタイルは、/
import contentsComponentFactory from './components/contents/factory'
const tile = {
init,
};
// `el` is a DOM element
function init(el) {
// Render a "contents" ReactJS component (see below) to the DOM - how?
// Is the following possible?
el.appendChild(contentsComponentFactory.create({ props }).render());
}
export default tile;
tile.jsタイルが画面にタイルコンテンツをレンダリングコンポーネントcontents
を有しています。 init
に私はメモリの内容をレンダリングするでしょうし、DOMに結果を挿入し
機能/私のタイル/コンポーネント/コンテンツ/ factory.js AngularJSで
const factory = {
create
};
function create(options) {
const component = Object.create(React.Component.prototype);
component.props = options.props;
component.state = { message: 'This is a tile' };
component.render = function() {
return <div>{this.state.message}</div>;
};
return component;
}
export default factory;
、。 ReactJSでこれを行うことはできますか?
私はReactJSを初めて使用しているので、何かを完全に誤解している可能性があります。
私はライブラリを動的にロードして、そのように要求されたときにそのコンポーネントがレンダリングをするようにしたいと考えています。この例では、ReactJSを使用しています(他のコンポーネントはAngularか他のものかもしれません)。要約すると、ページがレンダリングされます。次に、タイルコンポーネントライブラリをネットワーク経由で読み込みます。後で、このコンポーネントを以前にレンダリングされたDOMにレンダリングする必要があります。上記の私の "解決策"は、コンポーネントをメモリ内でレンダリングし、それをDOMに挿入することです。これを行う良い方法は何ですか? – Ben
フレームワークの基本機能を再実装しているようですが、最初にリアクションを使う方法を学ぶことを強くお勧めします。 ReactDOM.renderを使用するだけで、必要に応じて複数のマウントポイントを持つことができます。 – fabiend
よろしくお願いいたします。だから 'ReactDOM.render'を使ってこのユースケースに行く方法です?私はReactを始めたばかりで、さまざまな入門書を読んでいます。 – Ben