2017-02-23 101 views
1

我目前正在使用React學習流星。我看到了一些Tracker.autorun()的用法,並且我讀到了在模板中使用它是很常見的。這些模板是否適用於React,或者它們是否適用於Blaze或甚至其他?我從來沒有見過React指南使用它們。人們甚至在React中使用Tracker.autorun()嗎?流星的模板API與反應

+0

不太回答你的問題,但除了「Tracker.autorun()」,像提到@mostafiz,還有一些程序,使您能夠反應的組分與活性流星。最有名的和很容易使用的是[https://github.com/ultimatejs/tracker-react](https://github.com/ultimatejs/tracker-react) – grahan

回答

2

Tracker.autorun屬於Meteor的被動依賴追蹤,不論像Blaze或React這樣的渲染系統。它允許您在函數從屬於反應性數據源更改時自動調用函數。

簡單地說,Tracker.autorun()將函數作爲輸入,現在運行此函數,並在稍後數據源發生更改時返回。

一個簡單的例子,如何使用陣營Tracker.autorun():您可以使用Tracker.autorun()用於跟蹤用戶的文檔,因爲Meteor.user()Meteor.userId()有反應。在componentDidMount()中調用Tracker.autorun(),並在用戶文檔更改時將其保存在別處。

希望下面的代碼片斷幫助:

componentDidMount() { 
    Tracker.autorun(()=>{ 
     let user = Meteor.user(); 
     if (user != undefined) { 
       this.setState({ user: user }); 
     } 
    }); 
}