2015-12-30 74 views
0

我成功地遵循这个指南学习使用铁流星 https://medium.com/meteor-js/how-to-build-web-apps-ultra-fast-with-meteor-iron-scaffolding-and-automatic-form-generation-11734eda8e67#.gw50bxjif铁流星不识别反应?

于是我去了命令行,做了iron add react

我创建了一个简单的反应组分app/client/templates/App.jsx与内容

App = React.createClass({ 
    render() { 
    return (
     <div className="container"> 
     Hello World 
     </div> 
    ); 
    } 
}); 

然后,当在app/lib/controllers/issues_list_controller.js我替换为代码的动作的功能。

action: function() { 
// this.render(); 

    var router = this; 

    Meteor.startup(function() { 
    ReactDOM.render(<App router={router} />, document.getElementById("render-target")); 
    }); 
    }, 

现在,当我运行命令行命令iron启动项目,我得到的错误

W20151230-00:48:14.955(-5)? (STDERR) ReactDOM.render(<App router={router} />, document.getElementById("render

W20151230-00:48:14.957(-5)? (STDERR) ^

W20151230-00:48:14.980(-5)? (STDERR) SyntaxError: Unexpected token <

就好像流星铁不承认反应,JSX标志吗?我如何得到这个工作?

+0

据我所知,铁路由器不能很好地处理反应http://stackoverflow.com/questions/32792092/configure -iron-router-in-meteor-react我正在转移到'FlowRouter'的路上 –

+0

谢谢@ThaiTran,但我做了一个简单的meteorjs +铁路由器+反应应用程序,结果很好。关于铁流星的事情似乎没有认识到反应的标记,尽管... – John

回答

0

Then when in app/lib/controllers/issues_list_controller.js I replaced the action function with this code.

issues_list_controller.js是一个普通的JavaScript文件。如果您想在您的代码中使用JSX,请将其重命名为jsx扩展名 - 例如<App router={router} />等。