Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Redux Thunk未触发返回语句_Reactjs_React Redux_Redux Thunk - Fatal编程技术网

Reactjs Redux Thunk未触发返回语句

Reactjs Redux Thunk未触发返回语句,reactjs,react-redux,redux-thunk,Reactjs,React Redux,Redux Thunk,我在Stackover flow中看到过类似的问题,但似乎没有一个能解决我的问题。我试图使用redux thunk发送一个操作,但不幸的是,我的thunk函数没有触发return语句 我尝试过像往常一样使用redux thunk: export function handleLikeThunk(id, likeType){ console.log('thunk1') return (dispatch) => { console.log('thunk2', id); }

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

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

export function handleLikeThunk(id, likeType){
  console.log('thunk1')
  return (dispatch) => {
    console.log('thunk2', id);

  }
}
但是,代码仅到达“thunk1”消息。它从不显示“thunk2”

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

import { handleLikeThunk } from '../redux/actions/posts';
我有一个函数,每当按下like按钮时调用thunk:

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');

    }

 }
为了做到这一点,我将我的组件连接到商店

const mapDispatchToProps = (dispatch) => {
  return { 
    handleLikeThunk: (id, likeType) => dispatch(handleLikeThunk(id, 
likeType)) 
   }
  }

export default connect(null, mapDispatchToProps)(Post)

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

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

发生在我身上的次数已经够多了,很高兴我不是唯一一个犯这种错误的人。如果答案解决了问题,请确保将其标记为已接受