我想声明一个React.cssProperties属性到我的组件,但是使用PropTypes。到目前为止,我可以使它与PropTypes.object
一起工作。但是当我使用该组件时,我不能得到css属性类型提示(例如,样式,如宽度,颜色等)。而且,当将属性分配给元素时,我必须手动将其转换为React.cssProperties。
有没有办法在Typescript中使用PropeTypes声明React.cssProperties这样的类型?
import React from 'react';
import PropTypes, {InferProps} from "prop-types";
const propTypes = {
text: PropTypes.string,
style: PropTypes.object,
};
type Props = InferProps<typeof propTypes>;
const MyButton = ({text, style}: Props) => {
return (
<button style={style as React.CSSProperties} />
)
})
import React from 'react';
const App = () => {
return (
<MyButton style={{width: '100px'}}>{text}</button> // no type hint in IDE when typing width, color..etc
)
}
export App
2条答案
按热度按时间s4n0splo1#
下面是优化代码:
结果如下:
hgc7kmma2#
你不需要到输入propTypes从propTypes.简单地使用类型
希望这对你有帮助