누군가 아래의 코드가 mySubmitAction 작업 생성자 에 (mapDispatchToProps()를 포함하지 않음)에 액세스 할 수있는 이유를 설명해 주실 수 있습니까? handleSubmit()이 reduxForm() 데코레이터에 의해 소품으로 제공되지만, 사용자 정의 액션 작성자는 어디로 전달됩니까?mapDispatchToProps없이 작업 제작자에게 전화 할 수있는 이유는 무엇입니까?
import React, { Component } from 'react';
import { Field, reduxForm } from 'redux-form';
import { connect } from 'react-redux';
import * as Actions from '../actions';
const validate = values => {
const errors = {};
if (!values.title) {
errors.title = "Please enter a title"
}
return errors;
};
class myForm extends Component {
handleFormSubmit = (values) => {
this.props.mySubmitAction(values);
};
render() {
return (
isOpen={ this.props.modalIsOpen }
onRequestClose={() => this.props.onRequestClose() }>
<form onSubmit={this.props.handleSubmit(this.handleFormSubmit)}>
<input name="title" className="form-control" type="text" />
<button action="submit" className="btn btn-primary">Submit</button>
</form>
)
}
}
const createReduxForm = reduxForm({form: 'myForm', validate});
export default connect(null, Actions)(createReduxForm(SessionForm));
괜찮습니다. 그렇다면 왜 connect() 액션 객체를 전달할 수있을 때 mapDispatchToProps를 사용해야할까요? – orikon
때로는 작업 작성자의 하위 집합을 구성 요소에 표시하거나, 기본 인수를 작업 작성자에게 주입하거나, 조건 작성자가 작업 작성자를 선택하려는 경우가 있습니다. 개념은 구성 요소에 논리를 배치하는 대신 mapDispatchToProps에서 동작을 캡슐화 할 수 있다는 것입니다. –