私は

2017-10-14 2 views
0

次の行が正常に動作し、オブジェクトのプロパティにアクセスすることはできませんし、私は、コンソールログにオブジェクト全体を参照することができます:私はoneProjectのプロパティを見ることができ、コンソールで私は

Meteor.subscribe('projects') 
var oneProject = Projects.findOne(key1); 
console.log(oneProject) 

を、さえnameプロパティ。

は今、次の行で、結果は誤りである:

Meteor.subscribe('projects') 
var oneProject = Projects.findOne(key1); 
console.log(oneProject.name) 

エラーは、次のとおりです。「未定義のプロパティ 『name』を読み込めません」。

import { Meteor } from 'meteor/meteor'; 
import { withTracker } from 'meteor/react-meteor-data'; 
import { Projects } from '/imports/api/projects.js'; 
import ProjectFormUpdate from './ProjectFormUpdate.jsx'; 

export default ProjectFormUpdateContainer = withTracker(({ key1 }) => { 
    Meteor.subscribe('projects') 
    var oneProject = Projects.findOne(key1); 
    console.log(oneProject.name) 
    return { 
    oneProject:oneProject, 
    }; 
})(ProjectFormUpdate); 

答えて

2

流星でサブスクリプションが非同期です:

これは、全体のコードです。これは、データが常に利用可能なわけではないことを意味します。

Tracker.autorun(() => { 
    const sub = Meteor.subscribe('projects'); 
    if (sub.ready()){ 
    const oneProject = Projects.findOne(key1); 
    console.log(oneProject.name); 
    } 
}); 

サブスクリプションの準備が整うまで、プロジェクトの検索を試みません。

+0

今、私はコンソールに「名前」を入れることができますが、それでもプロジェクト文書をコンポーネントプロパティに渡すことはできません。エラー:「未定義またはnullをオブジェクトのキー()に変換できません」 – Reactib

+0

別の質問を開く必要があります... – Reactib

+0

私は別の質問を作成しました: https://stackoverflow.com/questions/46746047/how-流星を通過する文書オブジェクトから容器から反応成分への流通 – Reactib