admin管理员组

文章数量:1388039

I understand that the difference between using ReactiveVar and Session variables is, at the basic level, a matter of local vs global variables. ReactiveDict is like a local Session object.

But why use ReactiveDict at all if you're already using ReactiveVar? ReactiveDict doesn't seem to have any advantages over ReactiveVar

I understand that the difference between using ReactiveVar and Session variables is, at the basic level, a matter of local vs global variables. ReactiveDict is like a local Session object.

But why use ReactiveDict at all if you're already using ReactiveVar? ReactiveDict doesn't seem to have any advantages over ReactiveVar

Share Improve this question asked Nov 3, 2015 at 23:20 Merlin -they-them-Merlin -they-them- 2,9604 gold badges25 silver badges39 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 9

Here are the main differences between ReactiveDict(RD) and ReactiveVar(RV):

  1. As its name implies, RD offers dictionary-like semantics: set takes a key/value pair and it has delete and clear methods. The bottom line is it lets you cluster reactive data into a single variable. Frankly, this isn't all that interesting in most use cases, but keep reading.
  2. RD has an all method which returns all of the key/value pairs and registers a reactive dependency on each of them. The main benefit is that if you have a cluster of related reactive data you can fire an autorun whenever any part of the dictionary changes. To do this with a set of RVs, you'd need to call get on each of them.
  3. If you pass a name into the RD constructor, it will survive a hot code push. In fact, Session is actually just an RD.

In practice, I've found a few use cases for RDs, but RVs are what you'll likely choose in most situations.

Remended reading: the ReactiveDict source code

"... a general-purpose reactive datatype for use with tracker."

"If you provide a name to its constructor, its contents will be saved across Hot Code Push client code updates."

source: https://atmospherejs./meteor/reactive-dict

本文标签: javascriptMeteor ReactiveVar vs ReactiveDictStack Overflow