redux RTK查询错误,返回我自己的html,而不是API响应

vd2z7a6w  于 2023-02-08  发布在  其他
关注(0)|答案(1)|浏览(176)

在我的项目中,我使用Redux Toolkit Query从API获取数据。当我在组件上使用它时,它给我PARSIN_ERROR,因为它返回我自己的html基本模板,而不是API响应...
这是我的服务代码。

import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";

const cryptoApiHeaders = {
  'X-RapidAPI-Key': process.env.CRYPTO_API_KEY,
  'X-RapidAPI-Host': process.env.CRYPTO_API_HOST,
};

const createRequest = (url) => ({
  url,
  headers: cryptoApiHeaders,
});

export const CryptoApi = createApi({
  reducerPath: 'CryptoApi',
  baseQuery: fetchBaseQuery({ baseUrl: process.env.CRYPTO_API_URL }),
  endpoints: (builder) => ({
    getCryptos: builder.query({
      query: (count) => createRequest(`/coins?limit=${count}`),
    }),
    getCryptoById: builder.query({
      query: (coin_uuid) => createRequest(`/coin/${coin_uuid}`),
    })
  })
});

export const {
  useGetCryptosQuery,
  useGetCryptoByIdQuery
} = CryptoApi

这是我的商店代码。

import { configureStore } from "@reduxjs/toolkit"

import { CryptoApi } from "../Services/CryptoApi"

export const store = configureStore({
  reducer: {
    [CryptoApi.reducerPath]: CryptoApi.reducer,
  },
  middleware: (getDefaultMiddleware) =>
    getDefaultMiddleware().concat(CryptoApi.middleware),
})

这里我注入提供者。

import { store } from './app/store'

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <BrowserRouter>
      <Provider store={store}>
        <App />
      </Provider>
    </BrowserRouter>
  </React.StrictMode>
);

这里是我在组件中调用它的地方

import { useGetCryptosQuery } from '../Services/CryptoApi';

const Home = () => {

  const { data, error, isLoading } = useGetCryptosQuery(10);

  return (
    <>
      {
        error ? (
            console.error(error.error)
          )
        :
        isLoading ? (
          console.log(isLoading)
        )
        :
        data ? (
          console.log('Passed: ', data)
        ) : null
      }
    </>
  )
}

export default Home;

这是响应

正如你所看到的,它在错误中返回了我自己的html模板......我整天都在处理这个问题,但不知道如何解决它......
OBS:所有env属性的格式都正确。

相关问题