TSLint: функции без стрелок запрещены

Я использую typescript, yarn, react. Я хочу использовать функции без стрелок в некоторых местах моего приложения, как это

function myFunction () {
  console.info('This is a traditional function')
}

и мой TSLint не позволит мне этого сделать. Когда я запускаю команду yarn lint, чтобы отловить все ошибки линтинга, я получаю

ERROR : non-arrow functions are forbidden

Это мой tslint.json файл. Посоветуйте, как мне избавиться от этой ошибки.

{
    "defaultSeverity": "error",
    "extends": [
        "tslint:recommended",
        "tslint-config-standard",
        "tslint-react",
        "tslint-config-prettier"
    ],
    "jsRules": {},
    "rules": {
        "ordered-imports": false,
        "jsx-no-lambda": false,
        "object-literal-sort-keys": false,
        "jsx-boolean-value": false,
        "indent": [
            true,
            "spaces",
            2
        ],
        "align": [
            true,
            "parameters",
            "statements"
        ],
        "ban": false,
        "class-name": true,
        "comment-format": [
            true,
            "check-space"
        ],
        "curly": false,
        "eofline": true,
        "forin": true,
        "linebreak-style": [
            true,
            "LF"
        ],
        "interface-name": false,
        "jsdoc-format": true,
        "label-position": true,
        "max-line-length": [
            true,
            140
        ],
        "member-ordering": [
            true,
            "public-before-private",
            "static-before-instance",
            "variables-before-functions"
        ],
        "no-any": false,
        "no-arg": true,
        "no-bitwise": true,
        "no-console": [
            false,
            "debug",
            "info",
            "time",
            "timeEnd",
            "trace",
            "log"
        ],
        "no-construct": true,
        "no-constructor-vars": false,
        "no-debugger": true,
        "no-shadowed-variable": true,
        "no-duplicate-variable": true,
        "no-empty": true,
        "no-eval": true,
        "no-internal-module": true,
        "no-require-imports": true,
        "no-string-literal": true,
        "no-switch-case-fall-through": true,
        "trailing-comma": {
            "singleline": "never",
            "multiline": "always"
        },
        "no-trailing-whitespace": true,
        "no-unnecessary-type-assertion": false,
        "no-var-keyword": true,
        "no-var-requires": false,
        "no-unused-expression": [true, "allow-fast-null-checks"],
        "one-line": [
            true,
            "check-open-brace",
            "check-catch",
            "check-else",
            "check-whitespace"
        ],
        "quotemark": [
            true,
            "single",
            "jsx-double",
            "avoid-escape"
        ],
        "radix": true,
        "semicolon": [
            true,
            "always"
        ],
        "switch-default": true,
        "triple-equals": [
            true,
            "allow-null-check"
        ],
        "typedef": [
            false,
            "call-signature",
            "parameter",
            "property-declaration",
            "member-variable-declaration"
        ],
        "typedef-whitespace": [
            true,
            {
                "call-signature": "nospace",
                "index-signature": "nospace",
                "parameter": "nospace",
                "property-declaration": "nospace",
                "variable-declaration": "nospace"
            }
        ],
        "use-strict": [
            false,
            "check-module",
            "check-function"
        ],
        "variable-name": [
            true,
            "ban-keywords"
        ],
        "whitespace": [
            true,
            "check-branch",
            "check-decl",
            "check-operator",
            "check-separator",
            "check-type"
        ]
    },
    "rulesDirectory": []
}

Примечание. В некоторых местах я использую функции стрелок, и все работает нормально. Я хочу использовать ключевое слово this в некоторых функциях, поэтому стараюсь использовать и традиционные функции. Я не могу заменить стрелочные функции традиционными функциями и наоборот.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
0
85
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, что одно из расширяемых вами значений по умолчанию применило это правило. Вы можете переопределить его, отключив «только стрелочные функции», и это должно работать:

{
  "rules": {
    "only-arrow-functions": false,
    ...
  }
  ...
}

С предоставленной вами информацией это, кажется, работает.

Другие вопросы по теме