TS7053: Элемент неявно имеет тип 'any', потому что выражение типа 'string' нельзя использовать для индексации типа - PullRequest
1 голос
/ 20 марта 2020

У меня есть эти типы в библиотеке, которую я использую (план. js)

export const Intent = {
    NONE: "none" as "none",
    PRIMARY: "primary" as "primary",
    SUCCESS: "success" as "success",
    WARNING: "warning" as "warning",
    DANGER: "danger" as "danger",
};
export type Intent = typeof Intent[keyof typeof Intent];

У меня есть компонент, который принимает опору, и опора должна быть одним из этих значений.

My component:

export type EXPORT_BUTTON_INTENT = 'PRIMARY' | 'SUCCESS' | 'WARNING' | 'DANGER' | 'NONE';

interface Props {
  exportButtonColor?: EXPORT_BUTTON_INTENT;
}

<Component 
    className={
        props.exportButtonColor ? Classes[`INTENT_${props.exportButtonColor}`] : ''
    }
/>

Я хочу в принципе отправить любое из приведенных выше значений как exportButtonColor здесь. Когда я делаю это, я получаю эту ошибку.

TS7053: Элемент неявно имеет тип 'any', потому что выражение типа 'string' нельзя использовать для индексации типа 'typeof import ("C: / Users / этот пользователь / Код / Forecast-менеджер / node_modules / @ blueprintjs / ядро ​​/ Библиотека / ESM / общие / классы "). Нет подписи индекса с параметром типа 'строка' для типа 'тип импорта' ("C: / Users / this-user / Code / Forecast-Manager / node_modules / @ blueprintjs / core / lib / esm / common / классы ") '.

Пожалуйста, посоветуйте мне это исправить. Любая помощь с благодарностью.

...