0

我一直在使用meteor-react 和flow-router 开发meteor.js 和react.js 应用程序。

我从这样的结构开始:

  • 客户
    • 成分
      • 注册.jsx
    • 布局
      • 头文件.jsx
      • 页脚.jsx
      • router.jsx main.html main.jsx

在我的 router.jsx 文件中,我从 register.jsx 文件中调用 RegisterForm 类

FlowRouter.route('/', {
    action() {
        ReactLayout.render(MainLayout, { content: <RegistrationForm /> });
    }

});

只要我的所有组件类都在 register.jsx 文件中,这很好用,但是随着我的项目越来越大,我不想将所有类放在一个文件中,而是将 register.jsx 拆分为单独的 .jsx 文件。

例如,我有一个名为 VerifiedInput 的类,它包含用于自定义输入字段验证的额外功能。如果我在同一个 register.jsx 中包含这个类,我可以在我的 RegisterForm 类的渲染函数中调用它,

VerifiedInput = React.createClass({
    ....
});

RegistrationForm = React.createClass({
   ....    
   render : function(){
       return(
           <VerifiedInput />
        )
    }
});

但是如果我将 VerifiedInput 类移动到一个单独的文件中,那么我的组件文件夹结构将更改为:

- components
   - register.jsx
   - validinput.jsx

然后我收到一个错误:ReferenceError: VerifiedInput is not defined

这似乎表明 .jsx 文件不包括在内。

据我了解,meteor 应该自动在客户端文件夹中包含文件,并且无法使用require() Meteor.js

如何确保包含单独文件中的反应类?

4

0 回答 0