Я сталкиваюсь с этой проблемой, которую не знаю, как исправить.
Я пишу React с Typescript, и мы реализовали конфигурацию Airbnb для Typescript в нашем проекте.Это пример моего кода:
class Grid extends React.PureComponent<GridProps, GridState> {
private ref: React.RefObject<HTMLDivElement> = React.createRef();
private location: History<any>;
private history: Location<any>;
public constructor(props: GridProps) {
super(props);
this.state = {
rowHeight: 300,
expandedCardId: this.props.expandedCardId || null,
cardIdToScroll: null,
};
}
private isCardsInfoReady = (): boolean => this.props.cardIds.length !== 0 && this.props.cardLayouts.length !== 0;
Моя проблема в том, что Линтер кричит по строке private Location
, что location should be placed after isCardsInfoReadyeslint(react/sort-comp)
;
Это можно легко исправить, переместив его иливыполняя следующее:
private location: History<any>|null = null;
Как вы можете видеть, в тот момент, когда я присваиваю ему значение, Линтер в порядке, когда я ставлю его сверху.Если я присваиваю только конструктору, он по-прежнему не разрешается.
Так как мне не нравится ни один из способов, мне интересно, есть ли лучший способ обойти это.
Спасибо!