Class
小道具のインターフェイスが空であるため、リンティングエラーが発生します。このコンポーネント内で他のインターフェイスを使用しています。
これが私のコードです:
import React from 'react';
import axios from 'axios';
import { Button } from '@material-ui/core';
// import { Form, Field } from 'react-final-form';
// import {TextField} from 'final-form-material-ui';
// tslint:disable-next-line
interface CompanyFinancialModalFormProps {}
export interface IValues {
company_name: string;
critical_technology: [];
}
export interface IFormState {
[key: string]: any;
values: IValues[];
submitSuccess: boolean;
}
export default class CompanyFinancialModalForm extends React.Component<CompanyFinancialModalFormProps, IFormState> {
constructor(props: CompanyFinancialModalFormProps) {
super(props);
this.state = {
company_name: '',
critical_technology: [],
values: [],
submitSuccess: false
};
}
public render() {
const {} = this.state;
return (
<div>
<form>
<div className='submit-button-wrapper'>
<Button aria-label='home' className={'submit-button'} type='submit'>
Add Company
</Button>
</div>
</form>
</div>
);
}
}
使用する必要がないように、この権利をどのように構成できますか // tslint:disable-next-line
これはTypeScriptでもReactのエラーメッセージでもありません。
リンター(tsLint)では、no-empty-interfaceルールが有効になっています。
そして正直なところ、私はそのルールを無効にします。(そのためにtslint.jsonを見てください)プロップが(現時点では)空であってもインターフェイスとして指定するユースケースは完全に有効です-そうすれば、後でそのタイプを忘れることを心配せずに、より多くのプロップを指定できますどこか。
すべてのリンタールールが「一般的に役立つ」わけではありません。そしてここでは、そうではありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加