meteor的持久会议

所以,我一直用meteor观察到的一个更令人困惑的方面是每次刷新都会清除会话。 既然它不是一个持久的商店,那么我会在哪里放置像userid这样的东西,或者我的应用程序的状态机中的用户?

这些场景的模式是什么?

实际上,你可以做的是创buildSession的“子类”,当set()被调用时,它将值存储在Amplify的本地存储中。 您将自动inheritanceSession的所有react native属性。 这是代码,它为我工作:

SessionAmplify = _.extend({}, Session, { keys: _.object(_.map(amplify.store(), function(value, key) { return [key, JSON.stringify(value)] })), set: function (key, value) { Session.set.apply(this, arguments); amplify.store(key, value); }, }); 

只需用SessionAmplify.set / get调用replace所有的Session.set / get调用即可。 当调用set()时,调用父Session方法以及amplify.store()。 当“子类”第一次被创build时,它将加载放在其关键字中的所有内容,以便可以用get()立即获取它们。

您可以在这里testing排行榜示例的工作变体: https : //github.com/sebastienbarre/meteor-leaderboard

那么,一开始我会使用Auth内build的meteor来存储用户ID。 他们在默认情况下使用本地存储,但是AFAIK没有简单的方法来解决这个问题。

不过,我想如果你希望在刷新的时候能够存活下来,你应该将它存储在mongo中,或者使用URL来指示它们在“状态机”中的位置。 您可以使用引导路由器(例如)使用pushState来更改URL。