Я видел подобные проблемы в потоке Stackover, но ни одна из них, похоже, не решила мою проблему.Я пытаюсь выполнить действие, используя избыточный thunk, но, к сожалению, моя функция thunk не запускает оператор return.
Я пытался использовать избыточный thunk, как обычно:
export function handleLikeThunk(id, likeType){
console.log('thunk1')
return (dispatch) => {
console.log('thunk2', id);
}
}
Однако код достигает только сообщения «thunk1».Он никогда не отображает «thunk2»
Я пытаюсь обработать кнопку «Мне нравится», поэтому сначала я импортировал функцию избыточного thunk:
import { handleLikeThunk } from '../redux/actions/posts';
У меня есть функция, которая вызывает 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.