我目前正在学习如何将 Redux ToolKit Query 与 Open Weather Map API 一起使用,但是当我通过我的应用程序访问端点时,请求包括 localhost 并给了我以下响应:
“您需要启用 JavaScript 才能运行此应用程序。” 带有 200 状态码。
我想知道有没有办法可以从请求中删除 localhost 部分?在没有它的情况下点击该端点会返回正确的信息,因此问题不在于查询或 API_KEY 不正确。
通过应用程序请求:http://localhost:3000/api.openweathermap.org/data/2.5/weather?q=dublin&appid=${API_KEY}
这是我对端点的调用:
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'
export const weatherApi = createApi({
reducerPath: 'weatherApi',
baseQuery: fetchBaseQuery({ baseUrl: `api.openweathermap.org/data/2.5` }),
endpoints: (builder) => ({
getWeather: builder.query({
query: city => `/weather?q=${city}&appid=${API_KEY}`,
transformResponse: (response) => response.data,
})
})
})
export const { useGetWeatherQuery } = weatherApi
这是我然后打电话的地方useGetWeatherQuery
:
import { useGetWeatherQuery } from '../redux/api/index';
import '../styles/App.css';
function App() {
const { data, error, isLoading, isFetching } = useGetWeatherQuery('dublin')
return (
<div className="App">
<Nav/>
<header className="App-header">
</header>
</div>
);
}
export default App;