获取 TypeError:t 在访问 commerce.js 公钥时在 React 中未定义

IT技术 javascript reactjs undefined typeerror commerce.js
2021-04-29 17:23:27

我试图在 React 中访问 c​​ommercejs 库的公钥。但是我没有这样做并遇到了这个错误。我不明白为什么我会收到这个错误。

src\lib\commerce.js

import Commerce from '@chec/commerce.js';

export const commerce = new Commerce(process.env.REACT_APP_CHEC_PUBLIC_KEY, true);

src\App.js

import React, {useState, useEffect} from 'react';
import {Products, Navbar} from './components';
import {commerce} from './lib/commerce';
const App = () => {
    
    const [products, setProducts] = useState([]);

    const fetchProducts = async () => {
        const {data} = await commerce.products.list();
    
        setProducts(data);
    }

    useEffect(() => {
        fetchProducts();
    })

    console.log(products);

    return (
        <div>
            <Navbar/>
            <Products/>
        </div>
    )
}

export default App;


错误

TypeError: t is undefined e node_modules/@chec/commerce.js/lib/index.js:1

4个回答

啊,我看你也是一个有文化的人,在 Youtube 上看 Javascript Mastery!

只需检查您创建 .env 文件的位置。它应该存储在根文件夹中。我把它放在我的 src 文件夹中,这就是我得到这个错误的原因。如果它不起作用,请转到您的 commercejs 客户端,登录,然后在您的设置中刷新您的 PUBLIC API。当你得到一个新的时,只需更换它。在此之后它应该可以工作。

来自 Commerce.js 的 Robbie 在这里。我们在学习本教程后遇到了许多问题,因此需要注意以下几点:

  1. 确保您的.env文件位于项目的根文件夹中(与您的package.json文件所在的文件夹相同
  2. 确保您已安装该dotenv软件包。您可以通过运行npm install dotenv来确保yarn add dotenv
  3. 将您的公钥放在变量.env下的文件中,REACT_APP_CHEC_PUBLIC_KEY并确保您的 API 密钥有效。您可以从Check Dashboard获取有效的 API 密钥
  4. 更改.env文件后重新启动本地开发服务器

希望这有帮助👋

我遇到了同样的错误。你应该写终端 npm install @chec/commerce.jsnpm install -g @chec/cli或访问网站commerce.js =>“https://dashboard.chec.io/”。

当我在 Youtube 上观看 Javascript Mastery 时,我也遇到了这个问题。我所做的是,断开与 .env 文件的连接,然后将公钥添加到 commerce.js。这不是最佳实践。

export const commerce = new Commerce("Your public key", true);