J'essaie de configurer le routage dans Meteor
en utilisant react-router
package et ont rencontré ce qui suit TypeError
:
Lien vers l'image: https://postimg.org/image/v0twphnc7/
Le code que j'utilise dans main.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, IndexRoute, browserHistory } from 'react-router';
// Importing components
import App from './components/app';
import Portfolio from './components/portfolio/portfolio';
//Creating a route
const routes = (
<Router history={browserHistory}>
<Route path='/' component={App}>
<Router path='portfolio' component={Portfolio} />
</Route>
</Router>
);
// Loading routes
Meteor.startup(() => {
ReactDOM.render(routes, document.querySelector('.universe'));
});
Le problème que j'ai réussi à identifier est que lorsque je définis le portefeuille comme un composant simple, cela fonctionne.
const Portfolio = () => {
return (
<div className='red'>Portfolio page</div>
);
}
Mais quand je le prolonge à partir du composant, c'est là qu'intervient l'erreur:
class Portfolio extends Component () {
render() {
return (
<div>Portfolio page</div>
);
}
}
Pouvez-vous expliquer la différence possible entre "normal" et composant de classe et pourquoi l'erreur suivante apparaît.
En supposant que vous importez Component
en tant que React.Component
correctement, essayez de supprimer les parenthèses après Component.
Devrait être:
class Portfolio extends Component {
au lieu de:
class Portfolio extends Component () {
Sinon, remplacez Component
with React.Component
.