javascript - 在 React 中使用 NPM Moment.js 出现问题:moment__WEBPACK_IMPORTED_MODULE_2__format 不是函数?
问题描述
编辑:我现在使用 dateFns (date-fns.org) 解决了我的问题,但我也很想知道如何在这里使用 Momentjs。
我已经创建了一个应用程序,create-react-app
并正在尝试使用某种格式将当前数据转换为字符串。但是,我收到以下错误
moment__WEBPACK_IMPORTED_MODULE_2__format 不是函数
当我尝试运行此代码时
import moment from 'moment'
const today = moment().calendar().format('DD-MM-YYY')
const tomorrow = moment().add(1, 'days').calendar().format('DD-MM-YYY')
this.setState({checkin:today,checkout:tomorrow})
我做了一些谷歌搜索,发现了像https://github.com/moment/moment/issues/4229这样的页面,其中一个建议是尝试
import * as moment from 'moment'
但这也无济于事。
我也试过
import * as moment from 'moment/moment'
这是另一个建议,但它也没有奏效。
即使只是打电话
moment.format('DD-MM-YYY')
抛出同样的错误。
我package.json
有这些依赖项
"dependencies": {
"moment": "^2.24.0",
"react": "^16.8.6",
"react-datetime": "^2.16.3",
"react-dom": "^16.8.6",
"react-scripts": "3.0.1"
},
我不知道如何前进。非常感谢任何帮助!
解决方案
尝试这个:
const today = moment(moment().calendar()).format('DD-MM-YYY')
const tomorrow = moment(moment().add(1, 'days').calendar()).format('DD-MM-YYY')
我假设这.calender()
将返回 a string
,如果我们需要将其解析为特定格式,则需要将其作为参数传递给另一个moment
实例,然后应用format
到它。
推荐阅读
- typescript - 我如何键入一个在可区分联合上工作的函数并且知道输入的类型与输出的类型相同?
- uml - 如何将用户模型配置文件导入 omnet++ 中的纸莎草项目?
- apache-kafka - Hyperledger Fabric - 通道尚未启动
- c# - 为什么我的 C# 项目文件没有源文件的 Compile Inlcude 元素
- html - 水平滚动时在一张桌子上工作的粘性标题
- rest - 微服务:API 调用与消息传递。何时使用?
- python - 使用第一个 lightgbm 的分数作为第二个 lightgbm 的初始分数给出不同的结果
- javascript - Webpack + SASS + Autoprefixer 不生成 CSS 文件
- c# - 如果按钮位于父面板中,则模板中单选按钮的双向绑定会出错
- html - 锚标签上的下载属性不适用于边缘中的相对路径