Проверка типов WebStorm Реагировать на реквизиты, используя определение типа - PullRequest
0 голосов
/ 26 февраля 2019

Я использую WebStorm 2018.3.4 и пытаюсь выяснить, как выполнять проверку типов на объектах компонента React.В частности, если реквизит помечен как string, но я даю ему number, я хочу, чтобы WebStorm показывал ошибку.Я создал файл определения типа (как описано здесь ).Вот как выглядит файл:

MyComponent.d.ts

import * as React from 'react';

export interface MyComponentProps {
  /** this is the component's title */
  title: string;

  /** this is a short description of the component */
  description?: string;
}

declare class MyComponent extends React.Component<MyComponentProps, {}> {
  render(): JSX.Element;
}

export default MyComponent;

App.jsx

class App extends React.Component {
  render() {
    return (
      <MyComponent title={7} />
    );
  }
}

Я надеялся, что WebStorm подчеркнет title={7}, сказав, что 7 - неправильный тип.Если я Ctrl+Q на подпорке, это определенно говорит мне, что тип string, и это дает мне документацию из файла .d.ts.Есть ли настройка, которую мне нужно включить?Или WebStorm не поддерживает это?Или моя проблема в том, что мое приложение использует JSX, а не TypeScript?Любая помощь будет оценена.

1 Ответ

0 голосов
/ 26 февраля 2019

Вы можете установить prop-types

Затем вы можете написать свой компонент так:

import React, { Component } from 'react';
import PropTypes from 'prop-types';

class App extends Component {
    static propTypes = {
        userId: PropTypes.string.isRequired,
        someObject: PropTypes.object.isRequired,
        someFunction: PropTypes.func.isRequired,
    };

    render() {
       ....
    }
}
...