Reactjs 为什么我从Marvel API获得InvalidCredentials错误?

Reactjs 为什么我从Marvel API获得InvalidCredentials错误?,reactjs,api,create-react-app,Reactjs,Api,Create React App,我正在用CreateReact应用程序和MarvelToMarvelAPI构建一个简单的应用程序。应用程序只需要显示字符列表。这是我第一次尝试这样做,所以我对环境文件不是很熟悉 我在/src中有一个.env文件,其中包含这两个键,没有其他内容: REACT\u APP\u PUBLIC\u KEY='publicKey' REACT\u APP\u PRIVATE\u KEY='privateKey' 同样在/src中,我有/config/config.jsconfig.js然后导入到App.j

我正在用CreateReact应用程序和MarvelToMarvelAPI构建一个简单的应用程序。应用程序只需要显示字符列表。这是我第一次尝试这样做,所以我对环境文件不是很熟悉

我在
/src
中有一个
.env
文件,其中包含这两个键,没有其他内容:

REACT\u APP\u PUBLIC\u KEY='publicKey'
REACT\u APP\u PRIVATE\u KEY='privateKey'

同样在
/src
中,我有
/config/config.js
config.js
然后导入到
App.js
config.js
如下所示:

const marvelURL = 'https://gateway.marvel.com/v1/public/',
      apiKey = `apikey=${process.env.REACT_APP_PUBLIC_API_KEY}`;

const getCharacters = (options) => {
const {
    offset,
    name,
    exactMatch,
    sortName,
    limit,
} = Object.assign({
    offset: 0,
    name: '',
    exactMatch: false,
    limit: 20,
}, options);

let url = `${marvelURL}characters?${apiKey}&offset=${offset}&orderBy=${sortName}name&limit=${limit}`;

if (name) {
    if (exactMatch) {
        url += `&name=${name}`;
    } else {
        url += `&nameStartsWith=${name}`;
    }
}

return fetch(url)
.then(res => res.json())
.then((resObj) => {
    try {
        if (resObj.code === 200) {
            if (offset > resObj.data.total) {
                throw new Error('This page does not exist.');
            } else {
                const pages = Math.floor(resObj.data.total / limit);
                return {
                    characters: resObj.data.results,
                    maxPage: resObj.data.total % limit > 0 ? pages + 1 : pages,
                };
            }
        } else {
            throw new Error(`Bad response from API. Status code ${resObj.code}.`);
        }
    } catch (e) {
        console.error(e);
        return {
            characters: [],
            maxPage: 0,
        };
    }
});
}

export { getCharacters };

如果您试图点击浏览器中的URL会发生什么?@pritesh,控制台中的一个错误表示我未经授权。我的api密钥显示为未定义。因此,config.js和.env之间似乎存在断开连接,但我不知道如何连接它们。您正在导入的config.js中可能存在键入错误
apikey=${process.env.REACT\u APP\u PUBLIC\u API\u KEY}
但在环境文件中,您的API密钥名称是
REACT\u APP\u PUBLIC\u KEY
在config.js
apikey中更改为该名称=${process.env.REACT\u APP\u PUBLIC\u KEY}
这样做。
apiKey
仍在返回未定义的。。。