MeteorJS:reactiveDict VS Session?

时间:2017-05-27 01:49:36

标签: meteor

所以,我可能会遗漏一些东西,但是每个人都说在存储实例值时ReactiveDict比Session更好。但是,哈希怎么样?似乎reactiveDict不能隐藏数据,比如存储在Session中?我可以使用reactiveDict通过控制台从应用程序获取数据...所以,如果我想隐藏这个实例数据,那么使用Session是否有意义?

思想?

appState = new ReactiveDict('appState')...;
Session.set(key, value)...

1 个答案:

答案 0 :(得分:3)

如果您可以在此处查看会话包的源代码https://github.com/meteor/meteor/blob/devel/packages/session/session.js

Session = new ReactiveDict('session');

Session只不过是ReactiveDict。

人们说ReactiveDict比会话更好的原因是,Session是全局的,您可以转到控制台并输入Session.keys来获取所有值。

ReactiveDict可以选择不使其全球化

如果您想在单个文件中使用ReactiveDict,可以使用如下所示

const appState = new ReactiveDict('appState')
.
.
.

appState.set('key', 'value');
.
.
.
appState.get('key');

此处appState不是全球性的。

如果要在不同文件中使用相同的文件,可以使用下面的导入和导出

set.js
------

const appState = new ReactiveDict('appState')
appState.set('key', 'value');
.
.
.
export default appState

然后

get.js
------

import appState from './set.js';

appState.get('key'); //result will be value'

因此,反对意见的优势在于会话是全局的,因为反应可能不是全局的。