首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Meteor-react ES6类React.Component

Meteor-react ES6类React.Component
EN

Stack Overflow用户
提问于 2015-09-16 07:52:09
回答 2查看 732关注 0票数 1

我不确定这是否是Meteor中的一个已知问题。他们确实说过他们在1.2中不支持模块,但我不知道这是模块问题还是其他什么问题。

我正在尝试使用ES6类来构造我的React组件,如下所示:

代码语言:javascript
复制
class App extends React.Component {
    render() {
        return <p>Hello World</p>
    }
};

然后我添加这个路由:

代码语言:javascript
复制
const {Router, Route} = ReactRouter;

Meteor.startup(function() {
    React.render((
        <Router>
            <Route path="/" component={App} />
        </Router>
    ), document.body)
});

如果所有文件都是相同的.jsx文件,则可以正常运行。不幸的是,如果我将App和Router分成单独的文件,它就不能工作了。我从浏览器中得到了如下信息:

代码语言:javascript
复制
Uncaught ReferenceError: App is not defined

有什么想法吗?如果我回到createClass()语法,它在两个单独的文件中工作得很好。我尝试添加一个“导出类”,但没有起作用,它返回了一个“意外保留字”错误。

显然这不是一个大问题,我当然可以使用createClass语法,但我正在构建一个新的应用程序,并认为我应该尝试一下最新和最好的。

谢谢!--伊万

EN

回答 2

Stack Overflow用户

发布于 2016-01-05 09:31:52

将第一行更改为:

代码语言:javascript
复制
App = class App extends React.Component {

这会将“App”放入全局命名空间。

票数 3
EN

Stack Overflow用户

发布于 2015-09-16 15:27:30

检查此demo并将universe:modules添加到您的模块。试着在你的app.jsx中使用它

代码语言:javascript
复制
export default class App extends React.Component {
    render() {
        return <p>Hello World</p>
    }
}

在你的父母中:

代码语言:javascript
复制
import App from "./app"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32597493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档