2017-02-13 14 views
0

私はReact-Reduxで練習しています。私はこの質問がかなり簡単に聞こえることを知っています...しかし、私はそれを解決する方法を見つけることができません。私はオブジェクトを生成する関数を持っています。私は店にそれを渡したいと思いますが、私はどのようにユーザーアクションなしでアクションをトリガーするのか分かりません(たとえば、クリックボタン)。Redux React - ユーザーイベントなしでストアを更新するにはどうすればいいですか?

const MyComponentA =() => (
    <BuiltInCompoment propA={data} propB={ FunctionA } /> 
) 
function FunctionA(object) { 
     ... 
     FunctionB(object.property) 
} 

FunctionB関数は、オブジェクト(JSONファイル)を返します。どうすればそのオブジェクト(またはjson)をストアに渡し、別のコンポーネントで使用することができますか?

以下は最後の試みです。私はそれが間違っていることを知っていて、あまり意味がありません。しかし、おそらくそれは私が望むものをもう少し明確にしているかもしれません(コンテナの子ではない別のコンポーネントにデータをレンダリングするためにデータを渡す)。 "BiultInComponent"は、 "resultsData"という小道具を含むように変更することはできません。私は初心者ですので、私はいくつかのポイント/前提について間違っている可能性が高いです。

class MyContainerA extends Component { 
     render() 
     return (
      <BuiltInCompoment propA={data} propB={ FunctionA } /> 
     ) 
    } 

    function matchDispatchToProps(dispatch){ 
     return bindActionCreators({resultingData: resultingData}, dispatch); 
    } 

function FunctionA(object) { 

     ... 
     var dataToPassToStore = FunctionB(object.property); 
     return this.props.resultingData(dataToPassToStore) 
} 

exports default connect(matchDispatchToProps)(MyContainerA) 

任意の提案を歓迎します。ありがとう。

+0

コンポーネントにアクションをバインドすると、そのプロップを介してアクションを呼び出すことができます。 – Win

+0

コンポーネントは、データを表示し、イベント(クリック、Ajaxレスポンスなど)を処理するためにのみ存在します。どのような状況でこのオブジェクトをあなたの店に渡したいのですか?ページの読み込み?初期状態?ほとんどすべてが "イベント"のようなものです – azium

+0

あなたの答えをおねがいします@ウィン。私はちょうど私が持っているものの種類の例を追加しました。 – Dubliner

答えて

0

actionsreducersを調べて調べます。私はreduxの中核であるこれらの両方が、あなたがしようとしていることを達成するのに役立つと信じています。

+0

こんにちは@パトリック。ご意見ありがとうございます。私はすでに減速機と行動を持っています。私が理解できないことは、それを店に渡す方法です。 MyComponentAの代わりにMyContainerAというコンテナを作成する必要がありますか?それはおそらく本当に簡単なことです...しかし、私はそれを見ることができます。私はディスパッチとbindActionCreatorについて読む... – Dubliner

+0

'MyComponentA'はストアに接続されていますか? – patrick

+0

こんにちは@Patrick。いいえ、そうではありません。それが接続されるなら、それは役に立ちますか? は、FunctionBを使用してデータを取得して処理する一種のフォームであるとしましょう。そして、私はその処理されたデータをアプリケーションの他の部分にレンダリングしたいと思います。だから私はそれを店に渡す必要があります。 – Dubliner

関連する問題