Size: a a a

TypeScript — русскоговорящее сообщество

2020 April 03

K

Konstantin in TypeScript — русскоговорящее сообщество
Труь Ляля Ваня
Привет! Есть два класса один из них extends другого, как из того класса который extends получить исходный? Добавить поле, а потом в конструкторе или есть более хорошие способы?
Reflection или Object getPrototypeOf чтобы его получить, а переписать не уверен, что получится)
источник

V

Valentin in TypeScript — русскоговорящее сообщество
Подскажите как правильно описать интерфейсы для библиотеки без тс?
Проблема в том, что нужная мне функция которую нужно типизировать находится не в корне библиотеки, а на пути примерно: @packageName/folder как задеклалировать путь folder и функции в ней
источник

🌠

🌠 in TypeScript — русскоговорящее сообщество
из одной ASYNC функции возвращается другая ASYNC функция не через AWAIT а просто типа

A => B()

какой тип возвращаемого значения у А?
источник

НК

Назар Калитюк in TypeScript — русскоговорящее сообщество
🌠
из одной ASYNC функции возвращается другая ASYNC функция не через AWAIT а просто типа

A => B()

какой тип возвращаемого значения у А?
функция возвращаеться или результат?
источник

🌠

🌠 in TypeScript — русскоговорящее сообщество
Назар Калитюк
функция возвращаеться или результат?
функция

То есть есть функция B

B => Promise<void>

и А

которая возвращает эту функцию в виде

А => B()

без await
источник

НК

Назар Калитюк in TypeScript — русскоговорящее сообщество
🌠
функция

То есть есть функция B

B => Promise<void>

и А

которая возвращает эту функцию в виде

А => B()

без await
со скобками это результат вызова. Функция это когда A => B. В любому случае асинхронная функция всегда возвращает промис.
источник

A

Abu in TypeScript — русскоговорящее сообщество
Назар Калитюк
со скобками это результат вызова. Функция это когда A => B. В любому случае асинхронная функция всегда возвращает промис.
+
источник

JS

John Smith in TypeScript — русскоговорящее сообщество
Скажите, готовлю тестовые данные, использую кое-где такого плана функции:
const getUser: UserType = ( id: number ) => sampleUsers.find( ( element ) => element.id === id );

Я 100% знаю, что id, который будет передаваться этой функции, всегда будет реально существующий, т.е. find никогда не вернет undefined. Как можно обмануть typescript, чтобы он мне не грел голову, что может вернуться undefined? У него есть всякие служебные комменты, типа @ts-ignore, но не могу допетрить
источник

ps

p s in TypeScript — русскоговорящее сообщество
всем привет!
подскажите как класс переделать в константу?
export class MyComponent<T> extends React.Component<IProps<T>, IState> {
// ...
}

переделать в что-то наподобии:
export const MyComponent<T>: React.FC<IProps<T>>(props) => {
// …
}
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
John Smith
Скажите, готовлю тестовые данные, использую кое-где такого плана функции:
const getUser: UserType = ( id: number ) => sampleUsers.find( ( element ) => element.id === id );

Я 100% знаю, что id, который будет передаваться этой функции, всегда будет реально существующий, т.е. find никогда не вернет undefined. Как можно обмануть typescript, чтобы он мне не грел голову, что может вернуться undefined? У него есть всякие служебные комменты, типа @ts-ignore, но не могу допетрить
! после того, что может быть undefined
источник

JS

John Smith in TypeScript — русскоговорящее сообщество
Руслан Фадеев
! после того, что может быть undefined
Не понял
источник

a

arts in TypeScript — русскоговорящее сообщество
John Smith
Скажите, готовлю тестовые данные, использую кое-где такого плана функции:
const getUser: UserType = ( id: number ) => sampleUsers.find( ( element ) => element.id === id );

Я 100% знаю, что id, который будет передаваться этой функции, всегда будет реально существующий, т.е. find никогда не вернет undefined. Как можно обмануть typescript, чтобы он мне не грел голову, что может вернуться undefined? У него есть всякие служебные комменты, типа @ts-ignore, но не могу допетрить
as UserType
источник

JS

John Smith in TypeScript — русскоговорящее сообщество
Сенкс
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
John Smith
Не понял
const x = arr.find(…)!
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
p s
всем привет!
подскажите как класс переделать в константу?
export class MyComponent<T> extends React.Component<IProps<T>, IState> {
// ...
}

переделать в что-то наподобии:
export const MyComponent<T>: React.FC<IProps<T>>(props) => {
// …
}
Опиши, в чём проблема
источник

ps

p s in TypeScript — русскоговорящее сообщество
Руслан Фадеев
Опиши, в чём проблема
у меня компонент вызвается с генерик параметром

<MyComponent<ISettings>
// ...
/>

с классом работает норм, не могу класс переделать в функциональный компонет
тупо по синтаксису не пойму
выдает ошибку:
export const MyComponent<T>: React.FC<IProps<T>>(props) => {
// …
}

Variable 'MyComponent' implicitly has an 'any' type.

JSX element 'IProps' has no corresponding closing tag.ts(17008)
'IProps' only refers to a type, but is being used as a value here.ts(2693)
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
Покажи код
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
p s
всем привет!
подскажите как класс переделать в константу?
export class MyComponent<T> extends React.Component<IProps<T>, IState> {
// ...
}

переделать в что-то наподобии:
export const MyComponent<T>: React.FC<IProps<T>>(props) => {
// …
}
export const MyComponent: React.FC<IProps<T>> = <T>(props) => {

Ты это имеешь в виду?
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
А, но константа не может быть generic. Можно описать просто как <T>(props: MyPropsType<T>): JSX.Node =>
источник

ps

p s in TypeScript — русскоговорящее сообщество
вот функцию сделать получилось
источник