我已經添加了'meteor-react'包,並且要通過顯微鏡教程。一路走來,我只是用React替換了Blaze模板步驟,但我不確定如何正確執行,以便Collections可以與Reactjs框架進行反應。正確使用Meteorjs與Reactjs?
「職位」是一個mongo集合。 以我main.js:
// Startup application
Meteor.startup(function() {
var target = document.getElementsByTagName('body')[0];
var data = Posts.find().fetch(); // RACE CONDITION occurs here.
React.renderComponent(new StreamAtom({ "data": data}), target);
});
在StreamAtom.jsx反應組分,「數據」被簡單地設定爲初始狀態。
問題:
有一個與Posts.find()的競爭條件取(),所以大部分時間的頁面不呈現。 Meteor沒有回調,Blaze負責「Posts.find()」而沒有回調,所以我錯過了什麼?
另外,如何在沒有獲取的情況下只使用Posts.find()?由於fetch()返回的是一個結果數組而不是Mongo遊標,所以恐怕React實際上不會對集合的更改產生反應。
非常感謝提前,
我希望這將有助於我瞭解流星更好。
非常感謝:
上跟蹤的綜合指南!有效。我很驚訝該教程沒有提到它。 Blaze是否在內部運行? – kaid 2014-11-01 06:36:38
Blaze在助手和數據上下文上無縫運行Autoruns,然後以最低限度的方式修補DOM而不進行顯式渲染。 – imslavko 2014-11-01 06:43:43
如何將JSX轉換作爲Meteor構建系統的一部分自動工作? – 2015-03-30 20:43:07