在react native中使用本机javascript库的推荐方法是什么?有没有具体的限制?
答案 0 :(得分:100)
轻松自在!从项目的根目录开始运行:
npm install moment --save
然后您可以在代码中导入它:
import moment from 'moment';
var now = moment().format();
限制将是任何试图"伸出"浏览器(在此上下文中不存在)。这就是为什么XHR之类的东西会被填充的原因。
official documentation有关于如何使用时刻库的示例
答案 1 :(得分:9)
一些片刻方法在React Native中起作用,而其他方法则不起作用。我怀疑它与听众有关。
我可以使用片刻进行格式化:
moment(new Date()).format("YYYY-MM-DD hh:mm:ss")
但不是主动格式化:
moment(new Date()).format("YYYY-MM-DD hh:mm:ss").fromNow()
答案 2 :(得分:4)
使用npm库只需将此命令与相应的库名称
一起使用npm install moment --save
例如。)npm install {your library name here} --save
然后只需在您的课程中导入并使用
import moment from 'moment';
答案 3 :(得分:2)
现在看起来像是npm modules are not compatible with the packager。 Haven并没有真正挖掘为什么,但我一直在做的是拥有一个供应商文件夹并复制网页版本,但在顶部专门放置
/**
* @providesModule moment
*/
在底部将其更改为:
module.exports = moment;
不确定这是否是正确的方法,但包装对每个人来说都是新鲜的。
答案 4 :(得分:0)
如果您特别想在react或react native中使用moment.js,请在https://github.com/headzoo/react-moment处查看react-moment
(矩矩库的react组件)。
要在react native中使用react-moment,请运行:
npm install --save moment react-moment
然后在您要使用的时刻输入文件:
import Moment from 'react-moment';
最后,根据需要使用它,例如:
<Moment element={Text} fromNow>
{ post.datePublished }
</Moment>
道具element={Text}
专用于本地反应。它确保结果字符串在Text
组件中呈现。没有这个,react native将引发错误。