私は meteor-react と flow-router を使用して meteor.js と react.js アプリに取り組んできました。
私はこのような構造から始めました:
- クライアント
- コンポーネント
- register.jsx
- レイアウト
- header.jsx
- footer.jsx
- ライブラリ
- router.jsx main.html main.jsx
- コンポーネント
私の router.jsx ファイルでは、 register.jsx ファイルから RegisterForm クラスを呼び出します
FlowRouter.route('/', {
action() {
ReactLayout.render(MainLayout, { content: <RegistrationForm /> });
}
});
これは、すべてのコンポーネント クラスが register.jsx ファイルにある限りうまく機能しますが、プロジェクトが大きくなるにつれて、すべてのクラスを 1 つのファイルに入れるのではなく、register.jsx を個別の .jsx ファイルに分割したいと考えています。
たとえば、入力フィールドのカスタム検証のための追加機能を含む VerifiedInput というクラスがあります。このクラスを同じ register.jsx に含めると、RegisterForm クラスの render 関数で呼び出すことができます。
VerifiedInput = React.createClass({
....
});
RegistrationForm = React.createClass({
....
render : function(){
return(
<VerifiedInput />
)
}
});
しかし、VerifiedInput クラスを別のファイルに移動すると、コンポーネントのフォルダー構造が次のように変わります。
- components
- register.jsx
- validinput.jsx
その後、エラーが発生します: ReferenceError: VerifiedInput is not defined
.jsx ファイルが含まれていないことを示唆しているようです。
私が理解しているように、流星はクライアントフォルダーにファイルを自動的に含める必要があり、require() Meteor.jsを使用することはできません
別のファイルの反応クラスが含まれていることを確認するにはどうすればよいですか?