当前位置: 首页 > 知识库问答 >
问题:

如何用thunk在react-redux钩子中进行异步调用?

史飞尘
2023-03-14

我开始学钩子了。但是我不明白异步调用是如何工作的。早些时候我被使用

import * as actionQR from "../actions/qr";
...
function mapDispatchToProps(dispatch) {
    return {
        actionQR: bindActionCreators(actionQR, dispatch),
    }
} 

然后调用我的this.props.actionQR.myFunc(),但是我应该用useDispat()做什么?如果我只是调用

import {foo} from "../actions/qr";
...
useDispatch(foo());

然后我的< code > foo() don t < code > console . log(2)

export const foo = () => {
    console.log(1);
    return (dispatch) => {
        console.log(2);
      }
}

我正在使用thunk

import createRootReducer from './reducers/index';
...
const store = createStore(createRootReducer, applyMiddleware(thunk));

共有1个答案

封鸿雪
2023-03-14

useDispatch()hook将返回对dispatch函数的引用,您不向它传递操作,而是获得 0.05 dispatch)操作。

所以基本上应该是这样的:

const dispatch = useDispatch()
dispatch(foo())

您可以从响应冗余文档中获取更多详细信息

 类似资料:
  • 我想知道我是否正确理解了React或React Native中的Redux-thunk异步操作模式,以及我们如何对操作状态进行用户反馈。 我觉得要么我不明白这个模式,要么这个谜题还有其他部分。 所以,在我的 React 原生应用程序中(但它也可能适用于 React),我想调用一个更新 REST 调用,这将返回一个promise。如果成功或失败,我想向用户显示相应的消息。 没有Redux-async

  • 问题内容: React钩子介绍了用于设置组件状态的方法。但是我如何使用钩子来代替如下代码的回调: 我想在状态更新后做一些事情。 我知道我可以用来做其他事情,但是我必须检查状态以前的值,这需要一个位代码。我正在寻找可以与钩子一起使用的简单解决方案。 问题答案: 您需要使用钩子来实现此目的。

  • React hooks引入了来设置组件状态。但是我如何使用钩子来替换回调,如下代码所示:

  • 在React的官方文件中提到- 如果您熟悉React类生命周期方法,那么可以将useEffect钩子看作componentDidMount、componentDidUpdate和componentWillUnmount的组合。 我的问题是--我们如何在钩子中使用生命周期方法?

  • 问题内容: 我正在使用React + Flux。我们的团队计划从助焊剂转变为还原剂。Redux对于来自助焊剂世界的我非常困惑。在 磁通控制中, 从 **组件- 操作->存储和存储更新返回组件 很** 简单。它很简单,也很清楚。 但在redux中令人困惑。这里没有商店,是的,有些例子没有使用商店。我经历了一些教程,看来每个人都有自己的实现风格。有些正在使用容器,有些则没有。(我不知道这个Contai

  • 如何在钩子的if块中调用redux操作: 我有两个选择框。如果此人在选择框中键入,我将的选定id存储在状态中。如果用户选择了一个组,我将它存储在中,所以只有在两个条件都匹配的情况下,我才需要调用APIendpoint来获取。 如果我注释这段代码,就没有错误。如何使代码片段工作?