我在MEteor + React應用程序中創建了一個發佈(在服務器上)和訂閱(在客戶端)。我的問題是,我無法收到出版物返回的數組。我在發佈中使用了console.log,它記錄了訂閱密鑰和選項。我在返回之前也檢查文件,它是正確的。但在客戶端,仍然無法獲得文件數組。在ReactJS中不起作用的子組件訂閱
這裏是我的componentDidMount代碼,
Meteor.subscribe("messages",{},{},function(err){
console.log("err",err);
console.log(Messages.find().fetch());
});
的console.log這裏不叫。
這是我出版的代碼,這裏
if (Meteor.isServer) {
Meteor.publish('messages', function (key,option) {
console.log(key);
return Messages.find(key,option);
});
}
的console.log是工作,也是我檢查返回之前的文件,它是正確的。
我在我的應用程序中也使用了反應路由器。我爲我的父組件添加路由。我遇到的問題是在子組件中。
我的代碼有什麼問題?或者如何解決這個問題? 我使用msavin:mongol,並且仍然有0個文件的計數。
來自文檔:[_Meteor將對傳入記錄進行排隊,直到您在客戶端上使用匹配的集合名稱聲明Mongo.Collection](https://docs.meteor.com/api/pubsub.html#Meteor-subscribe) ,你有這樣做嗎? –