我不经常发帖,但我已经搜索了一整天,这篇文章让我困惑不解。
我有一个Redux连接组件"Homepage“,它被React Router作为索引加载。
在“主页”中,我有子组件"EventCreate",它连接到相同的Redux存储。
然后我有了一个使用Async Axios查询GraphQL端点的Thunk。
当我在我的“主页”组件中包含thunk,并这样调用它时…
componentDidMount() {
const { getEvent } = this.props
const db_query = `query {
allEvent {
data {
slug
}}}`
getEvent(db_query)
}这是我的主操作文件中的Thunk,它正在调用它。
export function getEvent(db_query) {
return dispatch => {
console.log(db_query)
dispatch(getEventBegin());
return axios({
url: '<GRAPHQL ENDPOINT>',
method: 'post',
headers: { "Authorization" : <KEY> },
data: {
query: db_query
}
}).then((result) => {
console.log("Query Result:")
console.log(result)
dispatch(getEventSuccess(result));
}).catch(error => { dispatch(getEventFailure(error)); } );
};
}正如您所看到的,它调用一个启动和成功或错误操作。
这就是我被困的地方..。
它在"Homepage>“中运行得很好,但在"EventCreate”中却不起作用。它会触发动作,但它不会做任何在突击分派中的事情。没有错误或任何东西,只是出于某种原因跳过了这一部分。
如果它是相关的,我将两者连接到Redux,如下所示...
const mapDispatchToProps = {
getEvent
}
export default compose(connect(mapStateToProps, mapDispatchToProps))(HomePage)然后在我的子组件中...
const mapDispatchToProps = {
getEvent
}
export default compose(connect(mapStateToProps, mapDispatchToProps))(EventCreate)动作本身被导入,就像...
import { getEvent } from '../actions'任何帮助都将不胜感激。
发布于 2020-04-19 19:27:32
指定派单已修复此问题。不知道为什么。
const mapDispatchToProps = (dispatch) => {
return {
getEvent: (dbQuery) => dispatch(getEvent(dbQuery))
}}
https://stackoverflow.com/questions/61301433
复制相似问题