Redux CreateAsyncThunk 获取数据

Redux CreateAsyncThunk fetching data

我目前正在探索新的 Redux Toolkit 设置。但是,我在获取数据时偶然发现了 CreateAsyncThunk,但是我找不到在正常服务 class 上使用它的优缺点,例如公理。

有人可以向我解释为什么我 should/shouldn 不使用 CreateAsyncThunk 从 api 中获取数据吗?

Redux 是您存储数据的地方。

所以在你的请求之后,你需要发送一个动作,将你的数据导入 Redux。

现在,如果您已经是 运行 请求,您的组件通常也会对这个问题感兴趣。

该信息可以存储在您的组件中,但其他组件不会知道。所以你也把它存储在 Redux 中。

现在您还需要分派一个操作来向 Redux 发出您开始加载数据的信号。

错误也是如此。您需要发送一个动作来通知 Redux 加载失败。

createAsyncThunk 从您那里获取代码并执行。但在此之前,它会发送一个动作。根据您的代码是成功还是有异常,它还会为您发送“已完成”或“已拒绝”操作。

所以你只需要专注于你想写的代码。

所以没有什么能阻止你做事

const myThunk = createAsyncThunk('myThunk', myApiService.getSomeData)

最后 - 这将使用你的 api 服务,加上 createAsyncThunk 用于生命周期操作 - 假设你的 api 服务只接受一个参数,否则它会是

const myThunk = createAsyncThunk('myThunk', ({name, password}) => myApiService.getSomeData(name, password))

因为 cAT 仅转发来自动作创建者调用的一个参数。