reactjs - Får API-nyckeln som odefinierad


Följande är komponenten där jag försöker göra anropet, det är i initialt tillstånd, så jag testade bara API-anropet, men efter att jag har ställt in miljövariabeln får jag API-nyckeln som undefined...

Följande är hela komponenten...

import { useEffect, useState } from "react";
import brick from "./assets/tamland.webp";
import BrickSays from "./BrickSays";
import { location } from "./helper";

const APP_KEY = import.meta.env.REACT_APP_API_KEY;
console.log(APP_KEY);

const WeatherData = () => {
  const weatherStackAPI = `http://api.weatherstack.com/current?access_key=${APP_KEY}&query=${location}`;
  console.log(weatherStackAPI);

  const [apiResponse, setResponse] = useState<unknown>();

  const fetchWeather = async () => {
    const promise: Response = await fetch(weatherStackAPI);
    const rawData: any = await promise.json();
    setResponse(rawData);
    console.log(rawData);
  };

  useEffect(() => {
    fetchWeather();
  }, []);

  console.log(apiResponse);

  return (
    <>
      <BrickSays />
      <img src={brick} alt='I love lamp' height='500px' />
    </>
  );
};

export default WeatherData;

Följande är .env-filen;

REACT_APP_API_KEY = appkey

Jag försökte med .env-filen både inuti och utanför "src"-mappen men utan resultat, och jag har använt vite för projektets skapande.

Jag förväntar mig att få API-nyckeln som en sträng åtminstone

Svar #1

Om du använder vite för ditt projekt, då bör du göra

const APP_KEY = import.meta.env.VITE_API_KEY

Att lägga till REACT_APP framför din miljövariabel är mest tillämpligt på ett create-react-app-projekt.

Se dessutom till att din .env-fil finns i roten av ditt projekt och att miljövariabeln är sparad som:

VITE_API_KEY=YOUR_API_KEY