#typescript
#typescript
Вопрос:
Учитывая интерфейс:
interface MyProps {
onEvent: (name: string, data: any) => void;
}
Как я могу использовать этот тип функции, чтобы предотвратить ошибки неиспользуемых параметров при компиляции?
eventHandler = (name: string, data: any) => {
console.log(data);
}
Поскольку в настоящее время я получаю ошибку компиляции неиспользуемого параметра для «name», но я не могу его удалить, потому что это нарушило бы сигнатуру базового типа.
Я надеялся сделать что-то подобное, хотя, очевидно, это не работает!
eventHandler: MyProps.onEvent = (name, data) => {
console.log(data);
}
Комментарии:
1. Используете ли вы
noUnusedParameters
в tsconfig? Кроме этого, TypeScript не заботится об этом..2. Не удается получить доступ,
MyProps.onEvent
посколькуMyProps
это тип, но не пространство имен. Вы имели в виду получить тип свойстваonEvent
вMyProps
сMyProps["onEvent"]
помощью?
Ответ №1:
У вас просто немного неправильный синтаксис, который вам нужно использовать ['name']
. Это называется запросом индексированного типа
interface MyProps {
onEvent: (name: string, data: any) => void;
}
let eventHandler: MyProps['onEvent'] = (name, data) => {
console.log(data);
}