首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Thunk不会从子组件中调度

Thunk不会从子组件中调度
EN

Stack Overflow用户
提问于 2020-04-19 16:19:35
回答 1查看 42关注 0票数 1

我不经常发帖,但我已经搜索了一整天,这篇文章让我困惑不解。

我有一个Redux连接组件"Homepage“,它被React Router作为索引加载。

在“主页”中,我有子组件"EventCreate",它连接到相同的Redux存储。

然后我有了一个使用Async Axios查询GraphQL端点的Thunk。

当我在我的“主页”组件中包含thunk,并这样调用它时…

代码语言:javascript
复制
componentDidMount() {
   const { getEvent } = this.props
   const db_query = `query {
          allEvent {
            data {
              slug
              }}}`
   getEvent(db_query)
 }

这是我的主操作文件中的Thunk,它正在调用它。

代码语言:javascript
复制
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,如下所示...

代码语言:javascript
复制
const mapDispatchToProps = {
  getEvent
}

export default compose(connect(mapStateToProps, mapDispatchToProps))(HomePage)

然后在我的子组件中...

代码语言:javascript
复制
const mapDispatchToProps = {
  getEvent
}

export default compose(connect(mapStateToProps, mapDispatchToProps))(EventCreate)

动作本身被导入,就像...

代码语言:javascript
复制
import { getEvent } from '../actions'

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-04-19 19:27:32

指定派单已修复此问题。不知道为什么。

代码语言:javascript
复制
const mapDispatchToProps = (dispatch) => {
return {
  getEvent: (dbQuery) => dispatch(getEvent(dbQuery))
}

}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61301433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档