Meteor - createContainer反应变量

时间:2017-07-27 17:05:56

标签: javascript meteor amplifyjs

我尝试在此处为const date分配反应数据,以便持久值通过this.props.date传播到我的组件

我使用amplify将用户选择的日期存储到浏览器的本地存储中。

export default createContainer(() => {

  // Amplify Store
  const date = amplify.store( "date") || '';

  return { date};
}, sidePanel);

我可以看到浏览器的本地存储中的更改值发生了变化,但this.props.date没有更新。

不知道这是否是一种可以接受的方法?

我知道,应该使用Redux或类似的库,但对于我正在研究的这个小项目来说,这将是一个过度杀戮。

谢谢

1 个答案:

答案 0 :(得分:0)

在做了一些阅读之后,我了解到流星带有许多反应数据源:

  • 会话变量
  • 对集合的数据库查询
  • Meteor.status
  • 订阅句柄上的ready()方法
  • Meteor.user
  • Meteor.userId
  • Meteor.loggingIn

我在问题中所做的是使用createContainer来探测无反应数据源。

Meteor提供了一个API来创建自己的custom reactive data source

然而,作为一个简单的解决方法,我使用扩展了meteor的Session变量的this package并通过Amplify将其存储在浏览器的本地存储中。

值得一提的是,Amplify附带了一个易于使用的发布/订阅系统,可以帮助连接所有前端事件。