我正在尝试将React与TypeScript和Material-UI的组件一起使用。不幸的是,我收到的错误是这样的:
属性'openToYearSelection'在类型上不存在 '内在属性& IntrinsicClassAttributes& Readonly< {children?:ReactNode; }> ......“。
import * as React from 'react';
import DatePicker from 'material-ui/DatePicker';
interface IState {
birthday: any,
}
export default class SampleForm extends React.Component<IProps, IState> {
constructor(props: any) {
super(props);
const { record = {} } = this.props;
this.state = {
birthday: record.birthday || null,
};
}
public birthdayPicker() {
const { birthday } = this.state;
return (
<DatePicker
defaultDate={birthday}
hintText="Birthday"
openToYearSelection={true}
/>
);
}
public render() {
return (
<form style={styles.root}>
{this.header()}
{this.firstName()}
{this.lastName()}
{this.birthdayPicker()}
{this.phoneNumber()}
{this.actionButtons()}
</form>
)
}
}
将Material-UI与TypeScript和React一起使用的正确方法是什么?
答案 0 :(得分:0)
我通过在名称空间中添加缺少的属性来解决此问题
node_modules/@types/material-ui/index.d.ts
个文件。它对我有用。我不认为这是一个很好的解决方案,我想知道是否有更好的方法。
namespace DatePicker {
export interface DatePickerProps {
defaultDate?: Date;
disableYearSelection?: boolean;
..
答案 1 :(得分:0)
如果它是第三方库,您可以在出错的行上方添加它,它会忽略错误并让您构建:
// @ts-expect-error