은 다음과 같습니다나는 나의 행동을 파견 할 수없는 소품 (돌아 오는 반응) 나는 <code>connect</code> 사용 방법은 다음과
function mapStateToProps(state, ownProps) {
return {
// we'll call this in our component -> this.props.listingData
listingData: state.locations.listingData,
//we'll call this in out component -> this.props.formState
formState: state.formStates.formState
};
}
function mapDispatchToProps(dispatch) {
return {
actions: bindActionCreators(locationActions, formStateActions, dispatch)
};
}
export default connect(mapStateToProps, mapDispatchToProps)(homePage);
내가 사용하는 버튼입니다 : 여기
<div onClick={this.stateToEntry} className="addButton">Add</div>
기능입니다 실행하려면
stateToEntry() {
this.props.actions.stateToEntry();//formStateActions.stateToEntry();//dispatch an action to update the Redux store state
browserHistory.push('/location');//then redirect to the add/edit/delete page using browserHistory
}
this.props.actions.stateToEntry()
은 기능이 아닙니다. 여기 실제로 무슨 일이 일어나고 있습니까 & 어떻게이 문제를 해결할 수 있습니까?
의 바로 주변의 {}
추가 : 여기
로그 데이터이다. 내가 {formStateActions}
혼자 시도하고 작동하지 않았지만 formStateActions
일했습니다. @ LazarevAlexandr의 내용은
, 여기 formStateActions
내 actioncreator입니다 :
export function stateToEntry() {
return { type: types.STATE_TO_ENTRY, formState: 'entry-mode'};
}
export function stateToEdit() {
return { type: types.STATE_TO_EDIT, formState: 'edit-mode'};
}
export function stateToDelete() {
return { type: types.STATE_TO_DELETE, formState: 'delete-mode'};
}
내 locationActions의 actioncreator 그래서 오히려 완전히 여기에 게시하지 않는 게 좋을 매우 깁니다. 그것들은 모두 함수이며, 일부는 액션을 반환하는 액션 크리에이터이고, 일부는 API에서 데이터리스트를 가져 오는 함수를 반환합니다. 여러 작업을 전달하려는, 그래서 만약
이 쇼는 locationActions'와'formStateActions''수입하는 코드는 당신이 그 (것)들에게 –
를 정의하십시오 어떻게 @LazarevAlexandr 그의 답변에서 @krvital에 언급 된 바와 같이, 문제는'bindActionCreators'에 있습니다. 왜냐하면 저는 2가되어야 할 때 3 개의 매개 변수를 사용하려고했기 때문입니다. (글쎄, 나는 여전히 문서를 확인해야한다). 문제는 지금 당장'bindActionCreators ({action1}, dispatch)'가 작동하지 않는다는 것입니다. 그러나 대괄호가없는'bindActionCreators (action1, dispatch)'는 작동하지만 이것은 1 action 또는 1 매개 변수를 사용하는 경우입니다. 여러 동작을 사용하고 싶습니다. –
나는 그것을 이해했으며, 당신의'actionCreators'에 뭔가 잘못되었다고 가정했다. –