首页 >> js开发 >> js为react组件库添加typescript类型提示的方法js大全
js为react组件库添加typescript类型提示的方法js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
以我自己的组件react-better-countdown为例,
react-better-countdown首先在package.json里面添加types: types/index.d.ts,package.jsontypes: types/index.d.ts,
然后文件目录上添加对应文件夹和文件,
最后是index.d.ts文件的编写,具体看代码:index.d.ts
import * as React from 'react';
interface CountdownProps {
count?: number;
dayText?: string | React.ReactElement;
hourText?: string | React.ReactElement;
minuteText?: string | React.ReactElement;
secondText?: string | React.ReactElement;
callback?: Function;
className?: string;
style?: React.CSSProperties;
rest?: any
}
interface CountdownState {
count?: number;
}
declare module 'react-better-countdown' {
export default class Countdown extends React.Component {
state: CountdownState;
timer: null | number;
tick: () => void;
componentDidMount(): void;
componentDidUpdate(prevProps: CountdownProps): void;
componentWillUnmount(): void;
render: () => React.ReactElement;
}
}
import * as React from 'react';
interface CountdownProps {
count?: number;
dayText?: string | React.ReactElement;
hourText?: string | React.ReactElement;
minuteText?: string | React.ReactElement;
secondText?: string | React.ReactElement;
callback?: Function;
className?: string;
style?: React.CSSProperties;
rest?: any
}
interface CountdownState {
count?: number;
}
declare module 'react-better-countdown' {
export default class Countdown extends React.Component {
state: CountdownState;
timer: null | number;
tick: () => void;
componentDidMount(): void;
componentDidUpdate(prevProps: CountdownProps): void;
componentWillUnmount(): void;
render: () => React.ReactElement;
}
}详细代码看仓库:https://github.com/leeseean/react-better-countdown顺便求个Star!https://github.com/leeseean/react-better-countdown
react-better-countdown首先在package.json里面添加types: types/index.d.ts,package.jsontypes: types/index.d.ts,
然后文件目录上添加对应文件夹和文件,
最后是index.d.ts文件的编写,具体看代码:index.d.ts
import * as React from 'react';
interface CountdownProps {
count?: number;
dayText?: string | React.ReactElement;
hourText?: string | React.ReactElement;
minuteText?: string | React.ReactElement;
secondText?: string | React.ReactElement;
callback?: Function;
className?: string;
style?: React.CSSProperties;
rest?: any
}
interface CountdownState {
count?: number;
}
declare module 'react-better-countdown' {
export default class Countdown extends React.Component
state: CountdownState;
timer: null | number;
tick: () => void;
componentDidMount(): void;
componentDidUpdate(prevProps: CountdownProps): void;
componentWillUnmount(): void;
render: () => React.ReactElement;
}
}
import * as React from 'react';
interface CountdownProps {
count?: number;
dayText?: string | React.ReactElement;
hourText?: string | React.ReactElement;
minuteText?: string | React.ReactElement;
secondText?: string | React.ReactElement;
callback?: Function;
className?: string;
style?: React.CSSProperties;
rest?: any
}
interface CountdownState {
count?: number;
}
declare module 'react-better-countdown' {
export default class Countdown extends React.Component
state: CountdownState;
timer: null | number;
tick: () => void;
componentDidMount(): void;
componentDidUpdate(prevProps: CountdownProps): void;
componentWillUnmount(): void;
render: () => React.ReactElement;
}
}详细代码看仓库:https://github.com/leeseean/react-better-countdown顺便求个Star!https://github.com/leeseean/react-better-countdown
相关文章:
- JavaScriptthree.js欧拉角和四元数的使用方法
- jsvue在响应头response中获取自定义headers操作js大全
- js解决vue的router组件component在import时不能使用变量问题js大全
- js在vue中使用防抖函数组件操作js大全
- jsVue中的this.$options.data()和this.$data用法说明js大全
- jsElement Breadcrumb 面包屑的使用方法js大全
- js解决vue动态路由异步加载import组件,加载不到module的问题js大全
- jsAngular利用HTTP POST下载流文件的步骤记录js大全
- js解决vuex数据页面刷新后初始化操作js大全
- jsvue 页面回退mounted函数不执行的解决方案js大全