2017-11-06 1 views
1

を働いていない私は、私が間違っているつもりだところを見つけ出すが、ここでは輸入/ API私のフロントエンドJSXファイル内流星が反応 - パブリッシュ/サブスクライブ

import { Mongo } from 'meteor/mongo'; 

Blogposts = new Mongo.Collection('blogposts'); 

if (Meteor.isServer) { 

    Meteor.publish('allBlogposts', function() { 
    return Blogposts.find({}); 
    }); 
} 

そして中で私のコードであることはできません。

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import TrackerReact from 'meteor/ultimatejs:tracker-react'; 

Blogposts = new Mongo.Collection('blogposts'); 

export default class BlogPage extends TrackerReact(React.Component) { 

constructor(props) { 
super(props); 
this.state = { 
    subscription: { 
    blogposts: Meteor.subscribe('allBlogposts') 
    } 
} 
} 

コンソールのログにデータベースからアクセスできないようですが、サーバーからデータベースに2つのレコードを追加しました。

これらの2つのドキュメントを返す単純なコンソールログでこれを動作させるにはどうすればよいですか?

+0

あなたは明示的に '輸入/ api'から、このコードをインポートしていますか? – Styx

+0

@styxはい、それは私がMongoコレクションを持っている場所です。 – Rivz11

+2

この 'Blogposts'コレクションにアクセスするコードはどこですか? – Styx

答えて

0
# api  
import { Mongo } from 'meteor/mongo'; 

export default Blogposts = new Mongo.Collection('blogposts'); 

if (Meteor.isServer) { 

    Meteor.publish('allBlogposts', function() { 
     return Blogposts.find({}); 
    }); 
} 

コンポーネント

import React, { Component } from 'react'; 
import ReactDOM from 'react-dom'; 
import PropTypes from 'prop-types'; 
import { withTracker } from 'meteor/react-meteor-data'; 

#import your api 
import { Blogposts } from "whatever/the/dir/is.js 

class BlogPage extends Component { 

# Everything here 

} 
#you write this function outside your component 
BlogPage.propTypes = { 
    currentUserPost: PropTypes.array.isRequired, 
}; 
export default withTracker(()=>{ 
    Meteor.subscribe("allBlogposts"); 
    return { 
    currentUserPost: Blogposts.find() 
    } 
})(BlogPage); 
関連する問題