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
仅转发来自动作创建者调用的一个参数。
我目前正在探索新的 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
仅转发来自动作创建者调用的一个参数。