我不确定这是否是Meteor中的一个已知问题。他们确实说过他们在1.2中不支持模块,但我不知道这是模块问题还是其他什么问题。
我正在尝试使用ES6类来构造我的React组件,如下所示:
class App extends React.Component {
render() {
return <p>Hello World</p>
}
};然后我添加这个路由:
const {Router, Route} = ReactRouter;
Meteor.startup(function() {
React.render((
<Router>
<Route path="/" component={App} />
</Router>
), document.body)
});如果所有文件都是相同的.jsx文件,则可以正常运行。不幸的是,如果我将App和Router分成单独的文件,它就不能工作了。我从浏览器中得到了如下信息:
Uncaught ReferenceError: App is not defined有什么想法吗?如果我回到createClass()语法,它在两个单独的文件中工作得很好。我尝试添加一个“导出类”,但没有起作用,它返回了一个“意外保留字”错误。
显然这不是一个大问题,我当然可以使用createClass语法,但我正在构建一个新的应用程序,并认为我应该尝试一下最新和最好的。
谢谢!--伊万
发布于 2016-01-05 09:31:52
将第一行更改为:
App = class App extends React.Component {这会将“App”放入全局命名空间。
发布于 2015-09-16 15:27:30
检查此demo并将universe:modules添加到您的模块。试着在你的app.jsx中使用它
export default class App extends React.Component {
render() {
return <p>Hello World</p>
}
}在你的父母中:
import App from "./app"https://stackoverflow.com/questions/32597493
复制相似问题