#reactjs #typescript #jsx #eslint #typescript-eslint
Вопрос:
В разделе JSX руководства по машинописи есть очень четкое примечание со следующим утверждением:
Примечание. Если имя атрибута не является допустимым идентификатором JS (например, атрибутом data -*), оно не считается ошибкой, если оно не найдено в типе атрибутов элемента.
В качестве примера:
interface Props {
myValidProp?: string;
}
const MyComponent = (props: Props) => { ... };
...
<MyComponent myValidProp="value"/> // TS OK
<MyComponent somethingThatDoesntExist="value"/> // TS FAIL (prop doesn't exist)
<MyComponent my-valid-prop="value" or-anything="" /> // TS OK (even though those props do not exist)
Я искал способ проверки этого типа или, по крайней мере, компоновки, чтобы статически обнаружить эти недействительные реквизиты, но я не нашел никакого способа сделать это.
Возможность передать несуществующее my-valid-prop
вместо myValidProp
этого очень расстраивает.