我正在尝试将我的动作创建者放入单独的文件中。我收到了错误
错误分派未定义。
// AddNewNote.js
// AddNewNote class is here
const mapDispatchToProps = dispatch => ({
actionNoteCreate: actionNoteCreate,
});
export default connect(null, mapDispatchToProps)(AddNewNote);
//note actions.就是
import actionTypes from '../constants/actionTypes';
export const actionNoteCreate = (text) => {
dispatch({
type: actionTypes.NOTE_CREATE,
payload: text,
});
};
发送应该在你的mapDispatchToProps
内,并从你的actionCreator中删除:
const mapDispatchToProps = dispatch => ({
actionNoteCreate: text => dispatch(actionNoteCreate(text)),
});
export default connect(null, mapDispatchToProps)(AddNewNote);
但是,最好的方法是在mapDispatchToProps中简单地使用一个对象:
const mapDispatchToProps = {
actionNoteCreate
};
react-redux将自动用dispatch包装它。
“[mapDispatchToProps(dispatch,[ownProps]):dispatchProps](对象或函数):如果传递了一个对象,则假定其中的每个函数都是一个Redux动作创建者。一个具有相同函数名的对象,但每个动作都有创建者包含在一个调度调用中,因此它们可以被直接调用,将被合并到组件的道具中。“ https://github.com/reactjs/react-redux/blob/master/docs/api.md