流星和反应:助手

时间:2015-09-05 00:32:25

标签: javascript meteor reactjs

我一直在考虑从Blaze转移到React作为我的Meteor应用程序的前端。我似乎无法找到相当于Blaze中使用UI.registerHelper

帮助 Blaze中的

UI.registerHelper允许您设置可在任何模板中使用的全局可访问帮助程序。

典型示例可能是将ISO日期转换为人类可读日期格式的帮助程序。

从我所看到的,React Classes可以拥有自己的属性,这些属性可以是执行类似helper的任务的函数。但我无法看到的是你如何在全球范围内创造它们。

在Meteor中使用React时如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

你不需要帮助者的反应能力,因为数据库的变化会触发流星混合物的变化,从而引发你render()的变化。所以,你所需要的只是一个全局函数。

file: formatDate.jsx

module.exports = function(dateStr) {
  return new Date(dateStr);
}

然后在您的组件的顶部:

let formatDate = require('./formatDate.jsx')

答案 1 :(得分:0)

我以前没有用过反应。虽然在meteor中,我认为设置全局可访问的帮助程序不是解决此问题的好方法,因为它可能会污染应用程序命名空间。

所以我总是使用一些模块加载器,比如Require.js,将有用的帮助函数定义为util模块,并在其他代码中需要它。

我希望这个通用的解决方案可以帮助你: - )