2016-05-15 4 views
4

私は、作業しているプロジェクトがあります。これは、HTMLページビルダーです。ユーザーは、メニューからあらかじめ設計されたHTMLページセクション(ヘッダー、スライダー、コンテンツブロック、フッターなど)の一覧から選択し、キャンバスにドロップしてWebページを作成することができます。最終的な結果は、静的なWebサイトを含むダウンロード可能なzipファイルです。React Reduxコンポーネントを追加する

私のアプリケーションのレイアウトは、これまでのところ、次のようになります

Application wireframe

私はパート1,2 & 3カバーを持っています。スライド・アウト・ドロワの第4部にはHTMLセクションが含まれています。クリックすると、対応するコンポーネントをページのメイン・エリアに追加します。このプロセスは、Webページが構築されるまで繰り返されます。各コンポーネントを編集し、最終的にページとして保存することができます。

私がアドバイスを求めているのは、React/Reduxを使用して、mainエリアonclickに完全なコンポーネントを追加する方法です。

コンポーネントを参照するアクション/レデューサーをディスパッチすると仮定しますが、メイン領域に追加されたコンポーネントを実際に追加して追跡するにはどうすればよいですか? jQueryを使用すると、これは単純なjQuery​​になりますが、React/Reduxではわかりません。リアクタを使って使うことはできますか?

誰かが正しい方向に向けるのを助けることができますか?さらに読むなど

事前に感謝します。

答えて

2

ゆるく、各コンポーネントにいくつかのタイプのIDをマップし、次にそのIDをmainArea = [id1, id6, id12]などのようなものにストアすることができます。<MainArea />コンポーネントは、小道具を反復して、コンポーネント。

編集:コンポーネントの地図を活用する方法を明確にします。

これはおおよそお探しのものです。上記のIDが私たちのコンポーネントだとしましょう。どこか私たちのコードベースでは、我々は、コンポーネントにこれらのIDのマッピングを持っているでしょう:

const Component1 = React.createClass(...) 
const Component6 = React.createClass(...) 
const Component12 = React.createClass(...) 

const componentMap = { 
    id1: Component1, 
    id6: Component6, 
    id12: Component12, 
} 

そして、それはそれは上記のマッピングから対応するコンポーネントを引き出して、それをレンダリングするでしょうが格納されているIDSを通して、あなたの<MainArea />部品を反復します。

+0

返信いただきありがとうございます。マップを作成することは理にかなっており、アクション/レデューサーでどのように達成するかを理解していると思いますが、コンポーネントを「」にロードする方法をさらに説明できますか?コンポーネント全体を別のコンポーネントにロードするというコンセプトに苦しんでいます。 – mtwallet

+1

私はそれを持っていると思います。私はそれを試してみましょう。説明ブライアンにもう一度感謝します。 – mtwallet

関連する問題