2016-10-29 4 views
0

私はこの正しい解決策があるかどうか完全に理解していませんが、コンテナからアクションクリエイターにいくつかの特定のストア配列[オブジェクト]コンテナからアクションクリエイター(React/Redux)へのフルストアオブジェクトを送信することはできますか?

タスクは、ストアで検索を実装することです。アクションの作成者の

例は

export const mySearch = (search) => { 
return { 
type: SEARCH, 
a: data.text, //some additional value 
b: data.items //store object 
} 

答えて

1

あなたのコンポーネントのプロパティにお店からいくつかのデータを適用することができます。あなたがあなたの財産を渡し、「高階関数」で、あなたのアクションを作成してそこから

const mapeStateToProps = state => ({ data: state.data }); 

const mapDispatchToProps = dispatch => { 
    const mySearch = data => search => dispatch({ 
    type: SEARCH, 
    a: data.text, 
    b: data.items, 
    }); 

    return { mySearch }; 
}; 

今、あなたのコンポーネントからそれを呼び出します。

const Component = props => 
    <input type="search" onUpdate={props.mySearch(props.data)} />; 

あなたの検索パラメータによって入力の値を取得することができます:search.target.value

1

あなたはReduxの-サンクを使用している場合、あなたは

export const mySearch = (search) => { 
return (dispatch, getState) => { 

    const state = getState(); // <-- This will be your state tree 
    const data = state.data; // <-- or whatever path you have in your state 

    // Now instead of return, dispatch it. 
    dispatch({ 
    type: SEARCH, 
    a: data.text, 
    b: data.items 
    }); 
} 
ようにそれを行うことができます
関連する問題