0
votes

React n'est pas défini dans le module Shopify

J'ai essayé de développer mon premier module Shopify mais lorsque j'utilise React, j'ai cette erreur dans ma page d'application sur la boutique.

Erreur Réagir

Ici mon 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;


0 commentaires

3 Réponses :


0
votes

Tu devrais utiliser

import React from "react";

Pour être à l'abri de ce type d'erreurs. Si l'une de vos importations précédemment définies est importée, React import, React ne fonctionnera pas. Mais je le recommande d'être juste en sécurité


0 commentaires

1
votes

Shopify permet à ses utilisateurs de déterminer leur propre version de React, par conséquent Shopify ne déploierait pas React pour vous et vous verrouillerait sur une version qui ne vous intéresserait peut-être pas. Vous pouvez voir comment Shopify définit React comme une dépendance homologue, de sorte que la responsabilité du déploiement et de l'importation de React incombe à l'utilisateur.

Je pense que dans votre cas, ce qu'il vous manque peut-être, c'est de déployer React en tant que dépendance de votre package.json, et de l'importer comme suit:

import React, { Component } from "react";


0 commentaires

0
votes

J'ai rencontré le même problème avec leur tutoriel, je suis allé dans le package.json et j'ai changé la dépendance,

npm install next react react-dom

Ensuite, je suis allé sur mon terminal et j'ai installé react à nouveau:

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

maintenant son fonctionnement très bien. Vous n'avez pas besoin d'ajouter l'importation.


0 commentaires