2017-02-23 1 views
0

J'intègre reajjsj avec mon django, j'ai fait l'installation et même capable de rendre la page du serveur aussi, mais dans le côté client quand il s'agit de rendu et de gestion des événements et attacher, je reçois erreur "ReferenceError non intercepté: MainContainer n'est pas défini". Je suis totalement perdu ici, s'il vous plaît aidez-moi.réagit le rendu côté client avec django

error in index.html

<html> 
    <head> 
     <link rel="stylesheet" type="text/css" href="static/src/css/bootstrap.min.css"/> 
     <link rel="stylesheet" type="text/css" href="static/src/css/style.less"/> 
    </head> 

    <body> 
     <script> 
        // var INITIAL_DATA = JSON.parse('{{ serialized_value|safe }}') 
        var INITIAL_DATA = {{ serialized_value|safe }} 
     </script> 
     <div id="app">{{ rendered|safe }}</div> 
     <script type="text/javascript" src="static/build/index_webpack.js"></script> 
     <script> 
      // ReactDOM.render(React.createFactory(MainContainer)({isOpen: false, props: {'freeShipping': free_shipping_message_new,'navigationBar': [loose_leaf_content]}}), document.getElementById('app')); 
      ReactDOM.render(MainContainer({isOpen: false, props: {'freeShipping': free_shipping_message_new,'navigationBar': [loose_leaf_content]}}), document.getElementById('app')); 
     </script> 
    </body> 
</html> 
+0

'MainContainer' est sans doute un élément React. Le composant est-il déclaré ou importé dans 'index_webpack.js'? Si oui, ce fichier est-il correctement chargé? Sinon, vous devrez importer le composant dans la fenêtre en quelque sorte. – ChidG

+0

J'ai vérifié dans mon index_webpack.js, le composant est importé là, mais en quelque sorte, Idk pourquoi je reçois l'erreur !, mais si cela ne fonctionne pas pour moi, pouvez-vous me dire comment importer dans la fenêtre? – Prashant

+0

Normalement, j'aurais tout le javascript (y compris votre ligne 'ReactDOM.render') dans le bundle webpack. De cette façon, vous savez que tout est dans un endroit. Est-ce que 'index_webpack.js' est chargé avec succès? – ChidG

Répondre

0

Vous pourriez être mieux à l'aide django-webpack-loader pour vous aider à intégrer vos faisceaux de webpack dans des modèles de django. Pour nous, il a fallu beaucoup de peine pour configurer webpack en même temps que django. Maintenant, nous ne devons pas penser à webpack du tout, il se trouve juste là et construit automatiquement toutes nos applications et nous pouvons simplement intégrer les faisceaux dans nos modèles avec

{% render_bundle 'react_app' %}