2016-10-29 1 views
0

이 올바른 해결책이 있다면 완전히 이해할 수 없지만 컨테이너의 [Object] 객체를 액션 작성자에게 보낼 수 있습니까?컨테이너에서 액션 크리에이터 (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)} />; 

당신은 당신의 검색 매개 변수에 의해 입력의 값을 얻을 수 있습니다 : 당신이 REDUX-썽크를 사용하는 경우 search.target.value

1

, 당신은

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 
    }); 
} 
처럼 할 수
관련 문제