TypeScript,Library:React-Time-Ago 认为它需要一个数字,我给它一个字符串。我不知道如何让它接受一个数字?
TypeScript, Library:React-Time-Ago thinks it requires a number, I'm giving it a string. I cant figure out how to make it accept a number?
import ReactTimeAgo from "react-time-ago"
<ReactTimeAgo
date = {tweet._createdAt}
/>
_createdAt 输出时间为 2022-06-02T01:16:40Z
我正在使用 React-time-ago 将其更改为 21 分钟前。它实际上工作正常。然而,TypeScript 抱怨说日期参数需要作为数字输入。所以我进入 index.d.ts 并将类型从数字更改为任意。
interface Props extends React.HTMLAttributes<HTMLElement> {
date: Date | any;
future?: boolean;
timeStyle?: string | Style;
round?: string;
minTimeLeft?: number;
tooltip?: boolean;
component?: React.ReactType;
wrapperComponent?: React.ReactType;
wrapperProps?: object;
locale?: string;
locales?: string[];
formatVerboseDate?: (date: Date) => string;
verboseDateFormat?: object;
这阻止了 vscode 的错误,但它仍然显示在浏览器上,并且由于该错误,我的部署失败了。如何让打字稿停止抱怨获取字符串?
- 它应该得到那个字符串,如果我给它一个数字,它给出了不正确的值。如果我使用@ts-ignore 或@ts-nocheck,我仍然会收到错误。似乎对我无能为力。感谢您的帮助!
首先,您不应该尝试手动更改库文件。
此包中的 date
属性 接受 Date
和 number
的联合类型。所以最好的办法是在输入 date
属性 字段之前将日期字符串转换为 Date
对象。您可以使用类似的方法;
const creationDate: Date = new Date('2022-06-02T01:16:40Z')
将该日期字符串解析为日期对象,然后将其作为道具提供。
通过编辑您的直接示例;
import ReactTimeAgo from "react-time-ago"
<ReactTimeAgo
date = {new Date(tweet._createdAt)}
/>
import ReactTimeAgo from "react-time-ago"
<ReactTimeAgo
date = {tweet._createdAt}
/>
_createdAt 输出时间为 2022-06-02T01:16:40Z
我正在使用 React-time-ago 将其更改为 21 分钟前。它实际上工作正常。然而,TypeScript 抱怨说日期参数需要作为数字输入。所以我进入 index.d.ts 并将类型从数字更改为任意。
interface Props extends React.HTMLAttributes<HTMLElement> {
date: Date | any;
future?: boolean;
timeStyle?: string | Style;
round?: string;
minTimeLeft?: number;
tooltip?: boolean;
component?: React.ReactType;
wrapperComponent?: React.ReactType;
wrapperProps?: object;
locale?: string;
locales?: string[];
formatVerboseDate?: (date: Date) => string;
verboseDateFormat?: object;
这阻止了 vscode 的错误,但它仍然显示在浏览器上,并且由于该错误,我的部署失败了。如何让打字稿停止抱怨获取字符串?
- 它应该得到那个字符串,如果我给它一个数字,它给出了不正确的值。如果我使用@ts-ignore 或@ts-nocheck,我仍然会收到错误。似乎对我无能为力。感谢您的帮助!
首先,您不应该尝试手动更改库文件。
此包中的 date
属性 接受 Date
和 number
的联合类型。所以最好的办法是在输入 date
属性 字段之前将日期字符串转换为 Date
对象。您可以使用类似的方法;
const creationDate: Date = new Date('2022-06-02T01:16:40Z')
将该日期字符串解析为日期对象,然后将其作为道具提供。
通过编辑您的直接示例;
import ReactTimeAgo from "react-time-ago"
<ReactTimeAgo
date = {new Date(tweet._createdAt)}
/>