我目前正在使用React学习Meteor。我看到了Tracker.autorun()的一些用法,我读到通常将它与模板一起使用。这些模板是否适用于React,还是适用于Blaze甚至其他?我从未见过React指南使用它们。人们甚至将Tracker.autorun()与React一起使用吗?
答案 0 :(得分:2)
Tracker.autorun
属于Meteor的反应式依赖跟踪,与Blaze或React等渲染系统无关。它允许您在其相关的响应数据源发生变化时自动调用函数。
简单来说,Tracker.autorun()
将函数作为输入,现在运行此函数,并在数据源稍后更改时返回。
如何在React中使用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 });
}
});
}