首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redux Thunk未触发返回语句

Redux Thunk未触发返回语句
EN

Stack Overflow用户
提问于 2019-01-04 00:24:56
回答 1查看 343关注 0票数 2

我在Stackover flow中看到过这样的问题,但似乎没有一个能解决我的问题。我试图使用redux thunk分派一个操作,但不幸的是,我的thunk函数没有触发return语句。

我试着像往常一样使用redux thunk:

代码语言:javascript
复制
export function handleLikeThunk(id, likeType){
  console.log('thunk1')
  return (dispatch) => {
    console.log('thunk2', id);

  }
}

然而,代码只到达'thunk1‘消息。它从不显示'thunk2‘

我正在尝试处理一个like按钮,所以首先我导入了redux thunk函数:

代码语言:javascript
复制
import { handleLikeThunk } from '../redux/actions/posts';

我有一个函数,每当按下like按钮时都会调用thunk:

代码语言:javascript
复制
handleLike = (e) => {

    const { likes, id } = this.state

    if(e.target.getAttribute('name') === 'upVote'){
      this.setState((perviouState)=>({
        likes: perviouState.likes + 1
      }));

      handleLikeThunk(id, 'upVote');

    }
    if(e.target.getAttribute('name') === 'downVote' && likes > 0){
      this.setState((perviouState)=>({
        likes: perviouState.likes - 1
      }));

      handleLikeThunk(id, 'downVote');

    }

 }

为此,我将我的组件连接到存储区

代码语言:javascript
复制
const mapDispatchToProps = (dispatch) => {
  return { 
    handleLikeThunk: (id, likeType) => dispatch(handleLikeThunk(id, 
likeType)) 
   }
  }

export default connect(null, mapDispatchToProps)(Post)

正如我所说的,我希望能够使用thunk函数在后端发布此信息,但它永远不会进入thunk函数内部的返回状态。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-04 00:36:52

看起来您调用的是原始函数,而不是放在mapDispatchToProps中的函数,请尝试将handleLikeThunk(id, 'upVote');更改为this.props.handleLikeThunk(id, 'upVote');

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

https://stackoverflow.com/questions/54026160

复制
相关文章

相似问题

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