2017-02-23 82 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 }); 
     } 
    }); 
}