我一直在考虑从Blaze转移到React作为我的Meteor应用程序的前端。我似乎无法找到相当于Blaze中使用UI.registerHelper
UI.registerHelper
允许您设置可在任何模板中使用的全局可访问帮助程序。
典型示例可能是将ISO日期转换为人类可读日期格式的帮助程序。
从我所看到的,React Classes可以拥有自己的属性,这些属性可以是执行类似helper的任务的函数。但我无法看到的是你如何在全球范围内创造它们。
在Meteor中使用React时如何实现这一目标?
答案 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
模块,并在其他代码中需要它。
我希望这个通用的解决方案可以帮助你: - )