2016-08-04 9 views
1

유성 반응 + 반응을 사용 중이며 클라이언트 측에서 데이터를 구독하려고합니다. 그러나, 반환하려는 컬렉션에 대한 정의되지 않은 오류가 계속 발생합니다.Meteor Subscription이 반응 성분에서 정의되지 않았습니다.

내 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

컬렉션은 서버 측에서만 정의됩니다. 양쪽에서 액세스 할 수있는 파일에 넣고 서버 및 클라이언트 측 코드에서 가져와야합니다.