如何在createSlice中使用RTK查询



我想处理从切片中的请求中获得的数据。

由于并非所有切片都是异步的(但使用相同的数据(,transformResponse不适合。

你有什么建议吗?

我的代码示例:

  1. 一些RTK查询
export const currencyApi = createApi({
reducerPath: 'currencyApi',
baseQuery: fetchBaseQuery({ baseUrl: 'https://api.apilayer.com/exchangerates_data' }),
endpoints: (build) => ({
fetchCurrencyRates: build.query<IApiResponse, string>({
query: (currency) => ({
url: '/latest',
params: {
base: currency
},
headers: {
apikey: *SomeApiKey*
}
})
})
})
})
  1. 我想使用RTK请求数据的切片
const initialState: ICurrencyState = {
currencyRates: {},
availableCurrencyOptions: [],
fromCurrency: '',
toCurrency: '',
exchangeRate: 0,
error: null
}
export const currencySlice = createSlice({
name: 'currency',
initialState,
reducers: {
// 
}
})

在组件中使用挂钩

您可以通过useEffect将接收到的数据发送到切片。类似这样的东西:

const { data } = useFetchCurrencyRatesQuery();
useEffect(() => {
if (data !== undefined) {
dispatch(...)
}
}, [data])

相关内容

  • 没有找到相关文章

最新更新