类型错误:Object(...)不是React Table和moment.js的函数

8

我正在使用 React Table 模块,并尝试利用 moment 来显示从传递给 ReactTable 组件的数据中的 created_at 字段更好的日期格式。

let columns = [{
  id: "createdAt",
  Header: "Created",
  accessor: a => <Fragment>{moment(a.created_at).format("MM DD YYYY")}</Fragment>
}];

但出现了一个错误,它抱怨着:

TypeError: Object(...)不是一个函数

并且指向了这一行代码。

如果我只使用a.created_at,它就可以正常显示。确实已经导入了该模块。


请发布您的所有代码...您确定 a.created_at 不是一个 moment 对象吗? - Daniel Lizik
对我来说运行良好:https://codesandbox.io/s/p73pnxjwpj - user5734311
@DanielLizik,是的,在数据库中它被存储为日期时间。 - user4383363
@ChrisG,单独使用它可以工作,但是当在react-table模块中指定时会出现错误。这可能与react-table有关。 - user4383363
@gamofe 我已经使用<ReactTable>更新了代码示例。 - user5734311
2个回答

27

当我以错误的方式导入moment时,我遇到了这个错误。

import {moment} from "moment"; // with errors 'Object(...) is not a function'
import moment from "moment"; //no more errors

哇,看到这个答案真是救了我的一天,这里到底是发生了什么神奇的事情? - Joaquin86

2
可能是由于错误的导入语句导致的。
import moment from 'moment';

don't write

import * as moment from 'moment';

或者

import {moment} from 'moment';

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接