Подписка Meteor не определена в компоненте реакции

Я использую метеор + реакцию и пытаюсь подписаться на данные на стороне клиента. Однако я продолжаю получать сообщение об ошибке, что коллекция, которую я пытаюсь вернуть, не определена.

Мой сервер.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.

Однако я четко определяю Reminders в своем файле server.js. Кто-нибудь знает, что может быть не так?

Заранее спасибо!!


person Trung Tran    schedule 04.08.2016    source источник


Ответы (1)


Ваша коллекция определяется только на стороне сервера. Вам нужно будет поместить его в файл, доступный с обеих сторон, и импортировать его как из кода на стороне сервера, так и на стороне клиента.

person aedm    schedule 04.08.2016