J'ai commencé à apprendre ReactJs
, je n'ai aucune idée de comment déboguer cela. J'ai un basique app.jsx
.
var React = require('react');
var ReactDOM = require('react-dom');
var {Route, Router, IndexRoute, hashHistory} = require('react-router');
var Main = require('Main');
ReactDOM.render(
<Router history={hashHistory}>
<Route path="/" component={Main}>
</Route>
</Router>,
document.getElementById('app')
);
J'ai maintenant écrit deux composants de base dans mon application React et je les ai imbriqués.
var React = require('react');
React.createClass({
render: function () {
return (
<h2>Nav Component</h2>
);
}
})
module.exports = Nav;
var React = require('react');
var Nav = require('Nav');
var Main = React.createClass({
render: function () {
return (
<div>
<Nav/>
<h2>Main Component</h2>
</div>
);
}
});
module.exports = Main;
j'utilise webpack
module.exports = {
entry: './app/app.jsx',
output: {
path: __dirname,
filename: './public/bundle.js'
},
resolve: {
root: __dirname,
alias: {
Main: 'app/components/Main.jsx',
Nav: 'app/components/Nav.jsx'
},
extensions: ['', '.js', '.jsx']
},
module: {
loaders: [
{
loader: 'babel-loader',
query: {
presets: ['react', 'es2015', 'stage-0']
},
test: /\.jsx?$/,
exclude:/(node_modules|bower_components)/
}
]
}
};
et je n'obtiens aucune erreur mais le navigateur n'affiche rien. Lorsque je vérifie les outils de développement, je vois que les "Uncaught ReferenceError: Nav is not defined"
fichiers sont dans les bons dossiers. Comment puis-je resoudre ceci?
Merci
Si le code que vous avez fourni est exact, le problème est que vous n'avez pas réellement défini de variable appelée Nav
dans votre fichier de navigation. Vous venez d'appeler React.createClass
sans affecter cela à la variable Nav
. Ensuite, vous avez essayé d'exporter Nav
en bas. Attribuez vos createClass
appels à des variables et cela devrait résoudre votre problème.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots