我正在尝试在Meteor使用react-router包中设置路由,并且遇到以下问题 TypeError :
Meteor
react-router
TypeError
链接到图像:https : //postimg.org/image/v0twphnc7/
我在中使用的代码 main.js
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')); });
我设法确定的问题是,当我将投资组合定义为简单组件时,它可以工作。
const Portfolio = () => { return ( <div className='red'>Portfolio page</div> ); }
但是,当我从Component扩展它时,就会出现错误:
class Portfolio extends Component () { render() { return ( <div>Portfolio page</div> ); } }
您能解释一下“正常”组件和类组件之间的可能区别以及为什么出现以下错误。
假设您正在导入Component的React.Component正确,尽量组件后去除括号。
Component
React.Component
应该:
class Portfolio extends Component {
代替:
class Portfolio extends Component () {
如果不是,请替换Component为React.Component。