我是React的新手,看到了这个错误,我无法解决:
Property classes does not exist on type IntrinsicAttributes
。
我有以下代码:
class SeriesView extends React.Component<Props> {
render() {
return (
<SeriesDetail classes={this.props.classes} />
)
}
}
SeriesDetail
被声明为:
const SeriesDetail: React.FC<{}> = () => {
//This just gets some payload
const service = useGetSeriesService();
if (service.status === 'loading') {
return <div>Loading...</div>
} else if (service.status === 'loaded') {
const seriesData = service.payload[0]
return (
<div>
<h1 className="">
{seriesData.description}
</h1>
</div>
);
} else if (service.status === 'error') {
return <div>Oops!</div>
} else {
return <div></div>
}
};
因此,在className=""
点,我希望能够传递classes.clearStyle
中设置的类似props
的内容。
关于如何执行此操作的任何想法?
此外,作为React的新手,如果还有其他建议,我将非常感谢任何指导。
谢谢。
答案 0 :(得分:2)
如果要在带有打字稿的React组件上使用“自定义道具”,则需要在道具类型中定义它们:
interface SeriesDetailProps {
classes: {
clearStyle: string;
};
}
const SeriesDetail: React.FC<SeriesDetailProps> = (props) => {
// ...
}
只有这样,您才能通过这些道具并进行正确的类型检查。看来您已经为Props
组件定义了SeriesView
,所以我想您可以为SeriesDetail
组件修改它们。