在 React Native 中使用 moment

using moment in react native

提问人:Arash Rabiee 提问时间:2/28/2020 更新时间:1/3/2021 访问量:7479

问:

当我导入像这样的时刻时:

import * as moment from 'moment';

我收到以下错误

moment is not a function.

导入时,如下所示:

import moment from 'moment';

我收到以下错误:

External module 'moment' has no default export

添加时刻以做出原生反应的最佳方法是什么?

顺便说一句,我通过这个命令添加了时刻:npm install --save moment

我以前也使用过 toLocaleDateString(),它适用于 IO,但它在 android 上无法正常工作,所以我必须使用 moment。

reactjs momentjs 反应原生

评论


答:

1赞 Adilp 2/28/2020 #1
import moment from "moment";

你有这个权利。如果遇到 npm 问题,请尝试在根目录中运行。npm install

评论

0赞 Adilp 2/28/2020
你有没有机会使用打字稿?
1赞 Khanh Le Tran 2/28/2020 #2

检查并且您已经有 moment 包。如果您拥有所有这些,只需删除并重新安装所有软件包即可。node_modulepackage.jsonnode_modules

评论

0赞 Arash Rabiee 2/28/2020
我同时在和中都有时刻,我也删除并执行仍然得到相同的结果node_modulepackage.jsonnode_modulesnpm install
0赞 Khanh Le Tran 2/28/2020
我想知道您是否正在通过 expo 或浏览器运行应用程序,如果您使用 expo 尝试再次构建,有时您安装的软件包没有从 expo 的热重载中加载。
0赞 Arash Rabiee 2/28/2020
我使用expo,我关闭了应用程序并从命令行重新启动它,你再次构建它是什么意思?
1赞 Khanh Le Tran 2/28/2020
我的意思是删除Android文件夹(也可能是iOS),并在您想要或之前运行(重建Android / iOS文件夹)。试试这个。react-native ejectreact-native upgradereact-native linkreact-native run-iosreact-native run-android
1赞 SDushan 2/28/2020 #3

由于您使用的是 ,import moment 作为expo

let moment = require('moment');

希望这对你有所帮助。如有疑问,请随时怀疑。

3赞 Omar bakhsh 1/3/2021 #4

1-首先,安装:

npm i moment 

2-第二次导入:

import moment from "moment";

3-然后使用并获取时刻日期:

const [currentDate, setCurrentDate] = useState('');

useEffect(() => {   
        
    // get current time 

     var date = moment().utcOffset('+03:00').format('YYYY-MM-DD');

    // or get time ' hh:mm:ss a'

    setCurrentDate(date); 
 }, []);

4-精细使用:

<Text style={styles.txtcurentDate}>Current Date:{currentDate}</Text >