javascript 无法访问React应用程序中API ID和密钥的环境变量

vcirk6k6  于 2022-10-30  发布在  Java
关注(0)|答案(1)|浏览(114)

My .env(在根目录中):

REACT_APP_ID = '123456';
REACT_APP_KEY = 'abcde123';

在app.js中:

useEffect(() => {
    getRecipes();
  }, [query]);

const getRecipes = async () => {
    const response = await fetch(`https://api.edamam.com/search?q=${query}&app_id=${process.env.REACT_APP_ID}&app_key=${process.env.REACT_APP_KEY}`); //change the elements in the query to match ur ID and KEY + query
    const data = await response.json();
    console.log(data.hits);
    setRecipes(data.hits); 
  }

但是,它不起作用。控制台中抛出错误:
第一个
我已经尝试通过npm start重新启动服务器,但它不起作用。
如何解决这个问题?

lpwwtiir

lpwwtiir1#

此问题与ReactJS无关。您所面临的问题是与响应的网络和标头相关的CORS策略。您的请求标头中应该包含以下内容:

Access-Control-Allow-Origin:  http://127.0.0.1:3000

还可以尝试使用包含credentialsfetch,如下所示:

fetch(https://api.edamam.com/search?q=${query}&app_id=${process.env.REACT_APP_ID}&app_key=${process.env.REACT_APP_KEY}`, {
  credentials: 'include'
});

相关问题