【问题标题】:React is not defined in Shopify moduleShopify 模块中未定义 React
【发布时间】:2020-11-16 16:21:28
【问题描述】:

我尝试开发我的第一个 Shopify 模块,但是当我使用 React 时,我在商店的应用程序页面中出现此错误。

这里是我的 index.js

import {Page} from "@shopify/polaris";
import {RessourcePicker} from "@shopify/app-bridge-react";

class Index extends React.Component{
  state = {open: false}
  render() {
    return (
      <Page
          title="Product selector"
          primaryAction={{
            content:'Select products',
            onAction: () => this.setState({open:true})
          }}
          >
            <RessourcePicker
              ressourceType='Product'
              open={this.state.open}
            />
            </Page>
    )
  }

}

export default Index;

【问题讨论】:

    标签: javascript reactjs react-native module shopify


    【解决方案1】:

    Shopify 允许其用户确定他们自己的 React 版本,因此 Shopify 不会为您部署 React 并将您锁定在您可能不感兴趣的版本上。您可以看到 Shopify 如何定义 React as a peer-dependency,因此部署和导入 React 的责任在用户身上。

    我认为在您的情况下,您可能缺少的是部署 React 作为对您的 package.json 的依赖项,并将其导入如下:

    import React, { Component } from "react";
    

    【讨论】:

      【解决方案2】:

      我在他们的教程中遇到了同样的问题,我进入 package.json 并更改了依赖项,

      "react": "^16.9.0",
      "react-dom": "^16.9.0"
      

      然后我去我的终端并再次安装反应:

      npm install next react react-dom
      

      现在它工作正常。 您不需要添加导入。

      【讨论】:

        【解决方案3】:

        你应该使用

        import React from "react";

        为了避免此类错误。如果您之前定义的任何导入确实 import React 导入 React 将不起作用。 但我建议它只是为了安全

        【讨论】:

          猜你喜欢
          • 2017-09-29
          • 2016-09-22
          • 1970-01-01
          • 1970-01-01
          • 2018-08-30
          • 2018-09-10
          • 1970-01-01
          • 2021-12-31
          • 2018-10-09
          相关资源
          最近更新 更多