reactjs – React-Redux:找不到mapDispatchToProps方法
发布时间:2020-12-15 09:34:27 所属栏目:百科 来源:网络整理
导读:我的印象是,添加到mapDispatchToProps的方法应该可以被this.props访问.当我调用这些方法时,会引发“未捕获的TypeError:this.props.onHighlight不是函数”. 有谁知道发生了什么?一直在为mapDispatchToProps尝试一堆不同的替代品,但它们都不起作用. import R
我的印象是,添加到mapDispatchToProps的方法应该可以被this.props访问.当我调用这些方法时,会引发“未捕获的TypeError:this.props.onHighlight不是函数”.
有谁知道发生了什么?一直在为mapDispatchToProps尝试一堆不同的替代品,但它们都不起作用. import React from 'react'; import { addHighlight,deleteHighlight,selectHighlight } from 'actions/highlight'; import { connect } from 'react-redux'; import jquery from 'jquery'; import { styles } from './styles.scss'; const mapDispatchToProps = dispatch => { return { onHighlight: (start,end,selectedText) => { dispatch(addHighlight(start,selectedText)); },onDeleteHighlight: (source) => { dispatch(deleteHighlight(source)); },onSelectHighlight: (source) => { dispatch(selectHighlight(source)); } }; } const mapStateToProps = state => { return { highlights: state.highlights,currentTopic: state.currentTopic,selectedHighlight: state.selectedHighlight,}; } ... Other code about Highlight object ... export default connect( mapStateToProps,mapDispatchToProps )(Highlight); 解决方法
尝试使用
bindActionCreators:
import { bindActionCreators } from 'redux' const mapDispatchToProps = dispatch => { return bindActionCreators({ onHighlight: addHighlight,onDeleteHighlight: deleteHighlight,onSelectHighlight: selectHighlight },dispatch); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |