Reactjs React Redux操作未进入调度
我见过一些与此类似的问题,但我不完全确定我是否理解mapDispatchToProps、bindActionCreators和connect是如何工作的,因此我不确定哪里出了问题 目前,正在调用我的recordFullTimeScoreAnswer函数,但当它进入该函数时,返回行之后什么也没有发生。未打印console.log,并且没有任何错误 组成部分Reactjs React Redux操作未进入调度,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我见过一些与此类似的问题,但我不完全确定我是否理解mapDispatchToProps、bindActionCreators和connect是如何工作的,因此我不确定哪里出了问题 目前,正在调用我的recordFullTimeScoreAnswer函数,但当它进入该函数时,返回行之后什么也没有发生。未打印console.log,并且没有任何错误 组成部分 renderNextQuestionArrow(question: Question) { const p = this.pr
renderNextQuestionArrow(question: Question) {
const p = this.props;
const s = this.state;
return (
<div onClick={ () => { p.recordFullTimeScoreAnswer(s.homeScore, s.awayScore, p.question, p.questionIndex, p.user, p.configs) } }>
<Arrow direction="right" action={ () => { p.showNextQuestion() } }/>
</div>
)
}
我看到的最后一件事是“外部记录答案”日志,但“内部记录答案”日志中的一个问题始终不在这一行:
recordFullTimeScoreAnswer = { recordFullTimeScoreAnswer }
在这里,您直接传递的是动作文件中定义的动作,而不是通过mapDispatchToProps
方法传递给props中组件的动作,在您总是调用外部方法的情况下,从未调用内部方法,另外,recordFullTimeScoreAnswer
将无法访问dispatch
使用以下命令:
recordFullTimeScoreAnswer={this.props.recordFullTimeScoreAnswer}
注意:
如果您这样编写,您编写的方式将打印内部控制台:
recordFullTimeScoreAnswer = {recordFullTimeScoreAnswer()} // notice `()`
但它也会抛出错误。非常感谢,我整个上午都在努力,但毫无进展!
recordFullTimeScoreAnswer={this.props.recordFullTimeScoreAnswer}
recordFullTimeScoreAnswer = {recordFullTimeScoreAnswer()} // notice `()`