首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react组件中未定义Meteor订阅

react组件中未定义Meteor订阅
EN

Stack Overflow用户
提问于 2016-08-04 10:43:01
回答 1查看 194关注 0票数 1

我正在使用meteor + react,并尝试在客户端订阅数据。然而,我一直收到错误,我试图返回的集合是未定义的。

我的server.js:

代码语言:javascript
复制
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文件:

代码语言:javascript
复制
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。有没有人知道可能出了什么问题?

提前感谢!!

EN

回答 1

Stack Overflow用户

发布于 2016-08-04 11:04:08

您的集合仅在服务器端定义。您需要将其放在两端都可以访问的文件中,并从服务器端和客户端代码导入它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38757692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档