
Dmitrii
17.02.2018
15:07:05
https://github.com/piotrwitek/react-redux-typescript-guide/blob/master/playground/src/redux/root-action.ts
что значит type AppAction = typeof returnsOfActions[number]; ?
кажется понял, что-то вроде type AppAction = typeof returnsOfActions[0] | typeof returnsOfActions[1] | ... | typeof returnsOfActions[returnsOfActions.length - 1]. т.е. пройтись по всем элементам массива и объединить их через Union

andretshurotshka?❄️кде
17.02.2018
15:16:53
давно надо было изучить весь typelevel-ts и typical
?

Google

Dmitrii
17.02.2018
15:17:34
typelevel-ts я хотя бы доку смог прочитать кое-как

andretshurotshka?❄️кде
17.02.2018
15:19:40
а typical?)

Dmitrii
17.02.2018
16:58:03
пока не осилил
тяжёлые наркотики

Sunlive
17.02.2018
18:54:10
без них в тс никуда походу

Aram
17.02.2018
22:00:11
Господа, кто-нибудь сталкивался с чем-то подобным?
TS2686: 'React' refers to a UMD global, but the current file is a module. Consider adding an import instead.
мне бы не помешал небольшой ликбез почему TS не хочет кушать
import React from 'react';

Cenator
17.02.2018
22:09:33
Так надо)

Aram
17.02.2018
22:10:11

Cenator
17.02.2018
22:10:35
Вроде чтобы тайпинги подтянулись или типо того (с дивана заявляю)

Aram
17.02.2018
22:10:58
мне не дает покоя такая гадкая запись

Morsik
17.02.2018
22:11:34

Google

andretshurotshka?❄️кде
17.02.2018
22:11:59

Morsik
17.02.2018
22:12:03
а
нет, я вру
у меня там не тс

Aram
17.02.2018
22:12:19

Andrey
17.02.2018
22:12:56

Bogdan
17.02.2018
22:48:49
как мне импортировать Dropbox?

Aram
17.02.2018
23:13:18
Так не работает?

Bogdan
17.02.2018
23:14:30
пишет что импортируемая сущность не модуль

Aram
17.02.2018
23:14:55
А, стоп
Убери default

Bogdan
17.02.2018
23:16:31
а чтоб не убирать? это с нпм либа

Aram
17.02.2018
23:18:08
Какой код ошибки?

Bogdan
17.02.2018
23:19:17
с утра уже разбираться буду

kana
17.02.2018
23:39:16
* as x явно говорит о том, что импортируй все в x
в реакте просто почему-то дефолтным экспортом сделали объект со всем, что импортируется, но так мало кто делает
ну и один шажок в сторону идеального мира без дефолтных экспортов

Cenator
17.02.2018
23:41:09

Google

kana
17.02.2018
23:41:43
смысл в том, что (* as x) намного явнее говорит о том, что делает импорт
то есть для десяти либ и своих модулей мы используем * as, то логично использовать и для 11-ой
но с реактом все привыкли просто
думаю, в одном из следующих мажоров они скажут делать только * as
а дефолтный объект задепрекейтят, вместо него компонент например будет, или createElement, так как объект - это скорее легаси с commonjs

Cenator
17.02.2018
23:43:54
хм интересно

Дмитрий
18.02.2018
00:13:20

Max
18.02.2018
00:41:55

Bogdan
18.02.2018
07:29:16
Что такое ECMAScript target version? Это версия языка из которой тс будет понимать фичи или версия языка в которую будет компилироваться код?

Andrey
18.02.2018
07:32:21

SilencerWeb
18.02.2018
09:06:13
Почему может не находить компонент?
В .env указал NODE_PATH = src/
С файлами с расширением jsx все работало, с tsx - нет, но там я юзал CRA, а тут CRAT(create-react-app-typescript)
Импорт: import { App } from 'containers/app/app’;
Ошибка: http://prntscr.com/igbznp

Kelin
18.02.2018
09:09:48

Bogdan
18.02.2018
10:42:28
это че норма?

Andrey
18.02.2018
10:43:39
Нет.

Andrew
18.02.2018
12:24:04

Friedrich
18.02.2018
12:29:47
да, но почему?
Потому что import * это стандартный ES6-синтаксис. Если React описан как ES6-модуль — значит, его надо так импортировать.

Max
18.02.2018
12:52:16
да, но почему?
потому что, по идее, ES6 модули несовместимы с CommonJS модулями.

Google

Sunlive
18.02.2018
14:51:31
как нормально интерфейсы экспортить? у меня вскод ругается постоянно если я добавил новый интерфейс в файл и экспортнул его, пишет что такого типа нет, но при этом сами тайпинги применяются Оо, помогает только закрыть открыть проект
экспорчу export interface IFoo {}
ну и соотвт import { IFoo } from '../foo'

andretshurotshka?❄️кде
18.02.2018
15:39:31
странно

Dmitrii
18.02.2018
15:52:52
а this.constructor.staticMethod() не работает?

andretshurotshka?❄️кде
18.02.2018
16:00:04
нет
у конструктора тип Function
где-то висит issue, хз почему не фиксят

?????∞?
18.02.2018
16:02:01
Просто вскод глючит иногда

Sunlive
18.02.2018
16:02:29
ясн

Dmitry
19.02.2018
09:09:34
Всем привет. Друзья, помогите пожалуйста понять тип never? Прочитав доку, я всё же не понял до конца, когда он подойдёт. В примерах представлены ф-ции генерирующие или обрабатывающие ошибки. Но тем ни менее, не понятно, когда он подойдёт лучше всего.

Vladimir
19.02.2018
09:16:08
Друзья, есть модуль в commonjs, есть к нему тайпинги через export=Name, насколько пррочитал в доках, рекомендованный способ импортировать такой модуль - import foo = require('foo')
подскажите, как должны тайпинги выглядеть, чтобы можно было import foo from 'foo' использовать?

ENAMETOOLONG
19.02.2018
09:16:10
1 случай, Error Throwing, 2 случай, ф-ции никогда ничего не возращающие

Max
19.02.2018
09:23:57

Вячеслав
19.02.2018
09:44:18

Kirill
19.02.2018
09:50:01
Можно ли как-то указывать для tsc параметр includes?
tsconfig меня не устраивает так как у меня includes меняется динамически.

Тимофей
19.02.2018
09:50:23

Kirill
19.02.2018
09:57:59

Dmitry
19.02.2018
10:28:44
Спасибо.

Google

Кирилл
19.02.2018
15:30:59
Привет парни ))
подскажите пожалуйсто как чекнуть является ли элемент класса
Observable
mobx обектом
из коробки есть isObservable() но он не умее работь с примитивами
@observable
contactName = '';
@observable
forcePasswordChange;
@observable
isVerified = false;
@observable
kycComment = null;

Artur
19.02.2018
17:19:25
Или я не так вопрос понял?

Кирилл
19.02.2018
17:50:45
я не так его использовал

Nameless
19.02.2018
18:56:26
Вечер добрый, кто подскажет каким ображом можно преобразовать enum в string[]?
Надо что-то типо этого:
enum x{
bla, bl, lb}
Преобразовать в
str[0] = "bla";
str[1] = " bl";
...

D
19.02.2018
18:58:58
Уже есть стринговые енумы в ТС

n06rn
20.02.2018
03:32:47
а подскажите, куда можно выложить код, чтобы видеть подсветку ошибок?

Mykola
20.02.2018
03:50:00

n06rn
20.02.2018
03:54:13
Подскажите, что можно сделать в это случае.
var a: {
b: number | null,
c?: number | null,
}[] = [
{b: 1, c: 1},
{b: null, c: 2},
{b: 2},
] ;
const b: {
b: number, c: number
}[] = a.filter(
({ b, c }) => b !== null && c !== null
);
вот работающий пример
https://www.typescriptlang.org/play/index.html#src=var%20a%3A%20%7B%0D%0A%20%20b%3A%20number%20%7C%20null%2C%0D%0A%20%20c%3F%3A%20number%20%7C%20null%2C%0D%0A%7D%5B%5D%20%3D%20%5B%0D%0A%20%20%7Bb%3A%201%2C%20c%3A%201%7D%2C%0D%0A%20%20%7Bb%3A%20null%2C%20c%3A%202%7D%2C%0D%0A%20%20%7Bb%3A%202%7D%2C%0D%0A%5D%20%3B%0D%0A%0D%0Aconst%20b%3A%20%7B%0D%0A%20%20b%3A%20number%2C%20c%3A%20number%0D%0A%7D%5B%5D%20%3D%20a.filter((%7B%20b%2C%20c%20%7D)%20%3D%3E%20b%20!%3D%3D%20null%20%26%26%20c%20!%3D%3D%20null)%3B
проблема в том, что filter возращает тип описанный в b