Javascript 触发跟踪器';自动运行功能?
我有这样一个示例Meteor应用程序:Javascript 触发跟踪器';自动运行功能?,javascript,reactjs,meteor,meteor-tracker,Javascript,Reactjs,Meteor,Meteor Tracker,我有这样一个示例Meteor应用程序: import React from 'react'; import { Meteor } from 'meteor/meteor'; import { render } from 'react-dom'; import { Mongo } from 'meteor/mongo'; Things = new Mongo.Collection('things'); if (Meteor.isClient) { Meteor.startup(() =&g
import React from 'react';
import { Meteor } from 'meteor/meteor';
import { render } from 'react-dom';
import { Mongo } from 'meteor/mongo';
Things = new Mongo.Collection('things');
if (Meteor.isClient) {
Meteor.startup(() => {
Tracker.autorun(() => {
console.log('AUTORUN');
});
Meteor.subscribe('things');
render(<div>Hello world</div>, document.getElementById('app'));
});
} else if (Meteor.isServer) {
Meteor.publish('things', function() {
return Things.find({});
});
}
从“React”导入React;
从“流星/流星”导入{Meteor};
从'react dom'导入{render};
从“meteor/Mongo”导入{Mongo};
Things=新Mongo.Collection(“Things”);
if(Meteor.isClient){
流星启动(()=>{
Tracker.autorun(()=>{
console.log('AUTORUN');
});
Meteor.subscribe(“事物”);
render(helloworld,document.getElementById('app');
});
}else if(Meteor.isServer){
Meteor.publish('things',function()){
返回物品。查找({});
});
}
我希望在修改我的
Things
集合中的一个文档时,应该启动自动运行功能,但事实并非如此。所以我的问题是:修改订阅的数据后,应该满足什么条件才能启动自动运行功能?这里有两个错误:
Tracker.autorun
仅检测其包装的函数(作为其参数的函数)中的更改。这里只有一个控制台.log
,它不是自动运行可以监视的反应源Things.find();//这里有两个错误:
Tracker.autorun
仅检测其包装的函数(作为其参数的函数)中的更改。这里只有一个控制台.log
,它不是自动运行可以监视的反应源Things.find();//好的,谢谢-正如我所看到的,
autorun
函数只在一些数据实际存在时运行(使用fetch
或findOne
)采取行动?我是否很清楚,这种反应性只有在这种情况下才有可能实现,或者它们是实现这一点的其他方法?任何反应性来源。通常,除了收集游标之外。好的,谢谢-正如我所看到的,自动运行
函数只有在其内部有一些物理数据时才会运行(使用fetch
或findOne
)我是否清楚,这种反应性只有在这种情况下才可能发生,或者它们是实现这一点的其他方法?任何反应性源。通常,除了收集游标之外。