ts定义IProps类型,给Props(object类型的属性)赋值默认值的方式
在TypeScript中,你可以使用接口(interface)来定义组件的props类型,并为props指定默认值。这可以通过在接口内部为属性赋值来实现。
下面是一个例子:
interface IProps {
text: string;
number: number;
isVisible: boolean;
style?: React.CSSProperties; // 可选属性
}
const defaultProps: IProps = {
text: 'Default text',
number: 42,
isVisible: true
};
class MyComponent extends React.Component<IProps, any> {
// 静态属性用于指定默认的props
static defaultProps = defaultProps;
render() {
// 使用this.props或者组件接收的props
return (
<div>
<p>{this.props.text}</p>
<p>{this.props.number}</p>
<p>{this.props.isVisible ? 'Visible' : 'Invisible'}</p>
</div>
);
}
}
在这个例子中,我们定义了一个IProps
接口来描述组件需要接收的props。然后,我们创建了一个名为defaultProps
的对象,为每个属性设置了默认值。最后,在React组件内部,我们通过静态属性defaultProps
将这些默认值传递给组件。这样,如果在使用该组件时没有提供某个prop,它将自动使用默认值。
评论已关闭