如何在反应原生中使用诸如moment.js之类的javascript库

nom*_*nty 65 react-native

在本机中使用本机javascript库的推荐方法是什么?有没有具体的限制?

Col*_*say 103

十分简单!从项目的根目录运行:

npm install moment --save
Run Code Online (Sandbox Code Playgroud)

然后你可以在你的代码中导入它:

import moment from 'moment';
var now = moment().format();
Run Code Online (Sandbox Code Playgroud)

限制将是试图"伸出"到浏览器的任何东西(在此上下文中不存在).这就是为什么像XHR这样的东西的polyfill.

官方文件对如何使用时刻库实例

  • 看起来这看起来并不实际.与lodash相同的事情.有些东西可以使用,比如助焊剂包,有些则没有. (3认同)

小智 9

一些片刻方法在React Native中起作用,而其他方法则不起作用.我怀疑它与听众有关.

我可以使用片刻进行格式化:

moment(new Date()).format("YYYY-MM-DD hh:mm:ss")
Run Code Online (Sandbox Code Playgroud)

但不适用于活动格式:

moment(new Date()).format("YYYY-MM-DD hh:mm:ss").fromNow()
Run Code Online (Sandbox Code Playgroud)


Thu*_*der 6

要使用 npm 库,只需将此命令与相应的库名称一起使用

npm install moment --save
Run Code Online (Sandbox Code Playgroud)

例如。) npm install {您的库名称在这里} --save

然后只需导入您的课程并使用

import moment from 'moment';
Run Code Online (Sandbox Code Playgroud)


Ben*_*Ben 5

如果您特别想在 react 或 react native 中使用 moment.js react-moment,请查看https://github.com/headzoo/react-moment 上的 moment 库的 react 组件。

要在 react native 中使用 react-moment,请运行:

npm install --save moment react-moment
Run Code Online (Sandbox Code Playgroud)

然后在您要使用的文件中:

import Moment from 'react-moment';
Run Code Online (Sandbox Code Playgroud)

最后,根据需要使用它,例如:

<Moment element={Text} fromNow>
    { post.datePublished }
</Moment>
Run Code Online (Sandbox Code Playgroud)

该道具element={Text}专门用于反应原生。它确保在Text组件中呈现结果字符串。没有这个,react native 会抛出一个错误。