问题标签 [meteor-tracker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
meteor - Meteor Tracker.autorun 行为
当 Data1 更改时,该函数重新运行并且 data1 现在是另一个数组。但是data2会发生什么?它是否保持完全相同的数组(我的意思是具有相同的引用)?如果不是,我该如何改变行为,以便find()
如果数据没有改变,流星就不会再次调用?
javascript - 如何实现启用 Meteor Tracker 的功能?
我正在编写一个支持 Meteor Tracker 的模块,但我无法对其进行测试。我添加meteor-standalone-tracker
为开发依赖项,并编写了一个测试用例,但该autorun
函数仅调用一次。
例如,我写了一个受文档启发的虚拟测试,如下所示
我得到的唯一输出是:
我错过了什么?
reactjs - 仅当 React 属性更改时如何调用函数?
alert()
我希望每次在 React 中跟踪的 Meteor 订阅发生变化时显示一个模式对话框(例如一个) withTracker
。
我曾尝试使用Tracker.autorun
来跟踪更改,但无法确定在代码中放置它的位置。它似乎在Component
构造函数中不起作用,并且如果放置在render()
.
这是我的代码的概要:
reactjs - 仅在流星订阅完成后如何在反应组件构造函数中设置初始状态值
我在我的应用程序中使用 React 和 Meteor。我需要使用集合中的记录来初始化状态值,但是流星订阅需要时间来返回集合记录。由于获取订阅记录的延迟,我在组件构造函数中的状态值正在加载未定义的值。只有在订阅准备好后,我才能调用 reacts 构造函数。注意:订阅准备好后,我不想在 render 方法中设置状态值,我想在构造函数本身中执行此操作,以便可以将原始状态值与集合中的后续更新进行比较。
meteor - Meteor.js Tracker.autorun / Tracker.depend 以设置的间隔从服务器端导出的变量
我试图了解 Meteor 的 Tracker.autorun 和 Tracker.dependancy 功能。
我正在尝试做一些在我看来似乎很简单但我正在努力执行的事情。
我有一个服务器端功能,我注册为一种方法:
注册为方法:
然后在客户端调用:
有人可以告诉我如何使用 Tracker.autorun 或 Tracker.dependancy 以便我的 UI 以在我的服务器端函数中设置的间隔更新
我真的很难让这个工作。
非常感谢
meteor - 为什么 findOne() 在 withTracker() 部分不起作用,但在 render() 方法中起作用?
流星和反应。我正在尝试订阅两个 mongo 集合,并使用特定文档将其传递给组件。如果我尝试在 whitTracker () 部分中获取文档,它似乎会在同步文档之前搜索它并无限期地返回。但是,如果我在渲染部分执行此操作,在确保 isLoading 为 false 之后,它会起作用。从我订阅的集合中查找数据的正确位置在哪里?
这(在 withTracker 部分进行查询)不起作用:laLoca 和 laLoca1 将是未定义的。
但这(在渲染方法中进行查询)确实有效:
meteor - 提供反应数据源
背景:我目前的 Meteor-React 项目是一个教学应用程序,教师可以远程观察学习者在做什么。学习者可以使用许多不同的视图,因此我需要将数据共享方面与视图本身分开。相同的视图将显示在教师的设备上,显示由学生的动作控制。
问题: * 我使用的技术是声音吗?* 当组件的输入没有改变时,如何防止组件被重新渲染?
详细信息:我创建了一个简单的原型(见下文)。这使用 Source 实例(在应用程序本身中将通过 MongoDB 集合更新)为视图组件提供反应性数据。在我的原型中,我只是生成随机数据。
我有两个惊喜。
一:我发现如果我.get()
在源中调用 ReactiveVar,这足以触发 Tracker 对象读取新值,即使我返回一个完全非反应变量的值。正如所料,如果 ReactiveVar 的值没有改变,那么 Tracker 会忽略对非反应变量的任何改变。
二:Tracker获取的值转发给组件props`导致即使值不变也会s
重新渲染。
代码:
示例控制台输出,带有注释:
回顾一下:我的计划是每次从学生那里收到新数据时,在我的 Source 实例中增加一个 ReactiveVar。但是,如果学生只是移动光标,那么我只希望显示学生光标的组件重新渲染,而不是整个视图。
对于如何优雅地实现这一目标,我将不胜感激。
meteor - Meteor 和 withTracker:为什么一个组件会渲染两次?
我使用 React 创建了一个简单的 Meteor 应用程序。它使用名为client
. 在控制台中,应用程序打印出:
换句话说,App 组件被渲染了两次。最后两行输出表明渲染之间既没有this.props
也没有变化。this.state
索引.html
主.jsx
应用程序.jsx
如果我将 App.jsx 更改为以下内容(删除withTracker
包装器),则应用程序仅打印rendering
到控制台,并且只执行一次。
是withTracker
什么触发了第二次渲染?由于我无法阻止它的发生,我可以确定任何使用的组件总是withTracker
会渲染两次吗?
上下文:在我的实际项目中,我使用withTracker
从 MongoDB 集合中读取数据,但我希望我的组件仅在props
更改触发组件重新呈现后才显示该数据。我认为在第一次渲染后设置一个标志就足够了,但似乎我需要做一些更复杂的事情。
reactjs - 为什么地图在 Meteor 的 Tracker.autorun 下不起作用?
最近我发现如果我将 map 函数应用到 Meteor 的 Tracker.autorun 函数中的数组,它就不起作用,我一直想知道为什么?我尝试制作静态数组,即使那不起作用。