2016-10-11 8 views
0

グローバルRedux変数のメンバーからいくつかの要素を選んで、それらをクラブのメンバーを表す別の配列に追加する必要があるとします。これを行うには、グリッドを使用します。これにより、要素の対応する行のチェックボックスをオンにし、ボタンをクリックして、メンバーをメンバーの配列に移動させることができます。Reduxで異なるグローバル変数のデータを操作する

したがって、2つの異なるグローバル変数があります:people、table、club(そしてメンバーの配列)。すべての要素をチェックすると、テーブル配列内の変数に人のIDを追加し、ボタンをクリックすると、そのIDを持つ人物がclub変数内のメンバ配列に転送されます。

これは私がするつもりです:

people = [{id:1, name:"John"},{id:2,name:"Sandy"}] 
table = {selectedIds:[]} 
club = {members:[]} 

//check John's checkbox 
people = [{id:1, name:"John"},{id:2,name:"Sandy"}] 
table = {selectedIds:[1]} 
club = {members:[]} 

//click the add button 
people = [{id:2,name:"Sandy"}] 
table = {selectedIds:[]} 
club = {members:[{id:1, name:"John"}]} 

私はReduxのでこれをどのように行うのですか?それを行う最も適切な方法は何ですか?レジューサーを一緒に混ぜるべきですか?私が意味することは:これはちょうど2つのアクション、これは私が自分で行うことができました(選択)とボタンをクリックすると、これを行う方法ですか?

ボタンをクリックすると、表内で選択されたIDのメンバーからクラブのメンバーに要素を移動する際に、多くのアクションをディスパッチする必要はありません。

は、これを実行する最も簡単な方法は、別の配列として単一の人々が含まれている減速機、テーブル、およびクラブを使用することです非常に

+0

こんにちは、あなたの質問はあまりにも一般的で、基本的にはReduxの仕組みについて尋ねています。 egghead.io https://egghead.io/courses/getting-started-with-reduxとhttps://egghead.io/courses/building-react-applications-with-idiomaticの優秀なReduxコースを見ることをお勧めします。 -redux – guzart

+0

申し訳ありませんが、私は質問を編集しました。私がしなければならないことは、選ばれたもののようなIDを持つ人々をメンバ配列に移動させるために地獄をたくさん派遣することです。 – Gothbag

答えて

0

、ありがとうございました。

次に、すべてのイベントに対して「CHECK」と「ADD」のアクションが必要です。

次に、すべてのレデューサーは「CHECK」をリッスンし、対応するIdをテーブル配列に移動する必要があります。また、 "ADD"を聞き、対応するIdをテーブル配列からクラブ配列に移動する必要があります。

次に、必要なすべてのフィルタにセレクタを使用できます。共通のライブラリが再選択されています:https://github.com/reactjs/reselect

希望します。

+0

要素を人員配列からクラブ配列のメンバに移動するときに、多くのアクションを送出する必要がなく、別のレデューサを使用してこれを行う方法はありませんか?私は3つの別々の減速器が必要です。 – Gothbag

関連する問題