Meteor 1.6 + React (2)withTracker

/imports/api/task.js

import { Mongo } from 'meteor/mongo';

export const Tasks = new Mongo.Collection('tasks');

if (Meteor.isServer) {
  // This code only runs on the server
  Meteor.publish('tasks', function tasksPublication() {
    return Tasks.find();
  });
}

/server/main.js

import { Meteor } from 'meteor/meteor';

import '/imports/api/tasks';

Meteor.startup(() => {
  // code to run on server at startup
  Meteor.publish('allUsers',() => {
    return Meteor.users.find();
  });
});

/imports/ui/App.js

import React, {Component} from 'react';

import {withTracker} from 'meteor/react-meteor-data';

import {Tasks} from '/imports/api/tasks';

class App extends Component {
  render() {
    return (
      <div>
        App
      </div>
    );
  }
}

export default withTracker(props => {
    // Do all your reactive data access in this method.
    // Note that this subscription will get cleaned up when your component is unmounted
    const handles = [
      Meteor.subscribe('tasks', props.id),
      Meteor.subscribe('allUsers')
    ];

    const loading = handles.some(handle => !handle.ready());
    console.log('loading',loading);
    return {
      currentUser: Meteor.user(),
      listLoading: loading,
      tasks: Tasks.find({listId: props.id}).fetch(),
    };
  }
)(App);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值