Выявление неожиданной ошибки никогда не использованного типа импорта - PullRequest
1 голос
/ 07 июня 2019

У меня возникают проблемы с Es-linting при попытке импортировать несколько типов,

В моем проекте RN я создал несколько типов данных в моем проекте

export type props = {
    btnText: string,
    colorType: number,
    btnType: number,
    onPress: Function,
    btnStyle?: Object,
    textStyle?: Object
}

export type buttonSubStyle = {
    width: number,
    height: number,
    backgroundColor: string,
    borderRadius?: number,
    borderColor?: string
}

export type textSubStyle = {
    color: string,
    fontSize: number, 
}

Они существуют в datatTypes / buttonType.js

Я импортирую их в мои компоненты / elements / button.js

import type {props, buttonSubStyle, textSubStyle} from "./../../dataTypes/buttonType"

const button = (props:props) => {
    const TYPE_LARGE_ROUND = 1
    const TYPE_SMALL_ROUND_OUTLINE = 2
    const TYPE_SMALL_ROUND = 3
    const TYPE_SMALL_FILTER = 4
    const COLOR_BLUE = 1
    const COLOR_WHITE = 2
    const COLOR_GREEN = 3

    const {btnStyle, textStyle, onPress, btnType, btnText, colorType} = props

    let subStyle:buttonSubStyle = {
        width: 300,
        height: 50,
        borderRadius: 20,
        backgroundColor: theme.primaryBlue
    }

    let textSubStyle:textSubStyle = {
        color: theme.primaryWhite
    }

Здесь Линтинг говорит, что props и textSubStyle определены, но никогда не используются, тогда как это не создает проблем для buttonSubStyle

Может кто-нибудь сказать мне, почему я получаю эту ошибку?

Это моя конфигурация eslint

{
    "env": {
        "browser": true,
        "es6": true
    },
    "parser": "babel-eslint",
    "extends": ["eslint:recommended", "plugin:react/recommended", "prettier"],
    "globals": {
        "Atomics": "readonly",
        "SharedArrayBuffer": "readonly"
    },
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": true
        },
        "ecmaVersion": 2018,
        "sourceType": "module"
    },
    "plugins": ["react",  "flowtype"]
}

enter image description here

1 Ответ

0 голосов
/ 28 июня 2019

Eslint имеет ограниченную поддержку для типов потока из коробки.Правило, специфичное для типа потока flowtype/use-flow-type должно решить вашу проблему.

https://github.com/gajus/eslint-plugin-flowtype#use-flow-type

...