2016-08-04 30 views
1

私は流星+反応を使用しており、クライアント側のデータを購読しようとしています。しかし、私が返そうとしているコレクションが定義されていないというエラーが発生し続ける。メテオサブスクリプションが反応コンポーネントで定義されていません

マイserver.js:

import { Meteor } from 'meteor/meteor'; 
import { Mongo } from 'meteor/mongo'; 
import { check } from 'meteor/check'; 

export const Reminders = new Mongo.Collection('reminders'); 

Meteor.publish('reminders', function() { 
    return Reminders.find(); 
}); 

マイReminders.jsxファイル:

RemindersList = React.createClass({ 

    mixins: [ReactMeteorData], 

    getInitialState: function() { 
     return { 
      reminders: [ 
       { 
        name: 'Pill 1', 
        description: 'Pill 1 description', 
        time: '9am' 
       }, 

       { 
        name: 'Pill 2', 
        description: 'Pill 2 description', 
        time: '9am' 
       }, 

       { 
        name: 'Pill 3', 
        description: 'Pill 3 description', 
        time: '9am' 
       } 
      ] 
     } 
    }, 

    getMeteorData: function() { 

     var data = {}; 
     var handle = Meteor.subscribe('reminders'); 

     if(handle.ready()) { 
      data.reminders = Reminders.findOne(); //Returns `Reminders` is not defined    

     } 

     return data; 

    }, 

    render: function() { 
     console.log(this.data); //returns an empty object 
     return (
      <h1>Test</h1> 
     ) 
    } 

}); 

私は取得しています特定のエラーがgetMeteorData機能である:

Reminders is not defined

ただし、私はserver.jsファイルにRemindersを明確に定義しています。誰が何が間違っているかも知っていますか?

ありがとうございます!

答えて

1

あなたのコレクションはサーバー側でのみ定義されています。両側からアクセス可能なファイルに入れ、サーバー側とクライアント側の両方のコードからインポートする必要があります。

関連する問題