
from
17.07.2017
18:31:11
class Something {
instMethod(): void;
constructor() {
this.instMethod = this.getInstMethod();
}
getInstMethod() {
return () => {
console.log('hey');
};
}
}
получаю ошику на второй строчке: "Function implementation is missing or not immediately following the declaration".
почему так? :(

andretshurotshka?❄️кде
17.07.2017
18:32:16
instMethod: () => void мб

Dreamerinnoise
17.07.2017
18:32:51

Google

from
17.07.2017
18:33:20
т.к. arrow function?...

Dreamerinnoise
17.07.2017
18:35:29
Разглядел что ты в конструкторе делаешь. Зачем так писать?...

Andrew
17.07.2017
18:35:43
oO сработало
объяснишь почему?
потому что вместо метода (у которого должно быть тело) ты объявляешь свойство типа "функция" (у которого может не быть значения)

from
17.07.2017
18:35:57
в общем спасибо!

Andrew
17.07.2017
18:38:05

from
17.07.2017
18:38:32
понятно!

Aleh
17.07.2017
19:05:48

Andrew
17.07.2017
19:08:32
Я имел в виду, что с точки зрения JS "метод" - это частный случай свойства

Google

from
17.07.2017
19:15:04

Aleh
17.07.2017
19:16:30

from
17.07.2017
19:20:03
Ок, в общем вроде все друг друга поняли :)

Vasiliy
17.07.2017
19:58:26
всем привет, кто-нибудь знает как сейчас дела с типизацией рамды? что-то улучшилось же? :)

andretshurotshka?❄️кде
17.07.2017
19:58:58
нет
¯\_(ツ)_/¯

Vasiliy
17.07.2017
19:59:25
блин, я в прошлый раз просто выбросил тайпинги рамды, но какой тогда смысл в тс
ладно, я уже как-то ныл по этому поводу один раз, полгода назад или больше

andretshurotshka?❄️кде
17.07.2017
20:01:51
смысл тс в флоу
? или нет

Vasiliy
17.07.2017
20:02:23
а как во флоу дела с типизацией рамды?

andretshurotshka?❄️кде
17.07.2017
20:02:42
@ZeroBias говорил, что смог нормально типизировать
Но не всю

Vasiliy
17.07.2017
20:05:24
@ZeroBias расскажи плиз :) стоит ли оно того

Anton
17.07.2017
22:23:00
Такой вопрос
export default handleActions({
[fetchMovieInformationRequest]: (state: any, action:any ) => {
},
Имеется редьюсер, но flow ругается Computed property cannot be assigned with 'function type'.
что с эти можно сделать?

Сергей
17.07.2017
22:23:49
у тебя any прям в коде?

Anton
17.07.2017
22:24:12
any я только что дописал

Google

Anton
17.07.2017
22:24:23
ну и ошибка что Computed property cannot be assigned with 'function type'. для каждого [fetch...]

andretshurotshka?❄️кде
17.07.2017
22:30:13
redux-act?

Anton
17.07.2017
22:31:43
aga

Vasiliy
17.07.2017
22:36:37
поищи по redux-act в этом чатике:) там много боли

Дмитрий
18.07.2017
06:18:23
@ZeroBias расскажи плиз :) стоит ли оно того
Что именно?)
Да, я вроде в процессе типизации рамды, жить можно) Но флоу форсит некоторые практики ради выводимости типов, из-за которых ряд методов рамды просто больше не используются, поэтому проблем меньше ¯\_(ツ)_/¯

Nikolay
18.07.2017
09:16:26
Привет. Есть некий набор классов, который нужно объединить в один модуль/неймспейс (хз что лучше), чтобы импортировать весь модуль, а не классы по отдельности. Как это лучше сделать?

Сергей
18.07.2017
09:17:43
мб сделай там index.{js,ts}

Artur
18.07.2017
09:18:00
index.ts, минуточку
Короче да, index.ts и в нём реэкспорты
Если хочется в одном файле, то можно namespace:
export namespace Group {
export class Class1 {}
export class Class2 {}
}
import {Group} from "./group"
new Group.Class1()
new Group.Class2()

Сергей
18.07.2017
09:19:47
nooo
не надо namespace советовать

Artur
18.07.2017
09:19:56

Сергей
18.07.2017
09:20:01
бесполезное днище
namespace это пережиток прошлого

Artur
18.07.2017
09:21:16
бесполезное днище
очень полезное в одном кейзе. Мне часто надо экспортировать пропы компонента вместе с самим компонентом. И я делаю так:
export namespace Component1 {
export type Props = {
prop1: string
}
}
export class Component1 extends React.Component<Component1.Props, void> {}
import {Component1} from "./component"
let props: Component1.Props = {}

Сергей
18.07.2017
09:21:56

Google

Artur
18.07.2017
09:22:11

Сергей
18.07.2017
09:22:13
я пишу export interface Component1Props {}

Artur
18.07.2017
09:22:30
а если ещё и реэкспорт где то есть, то ещё всё проще

Сергей
18.07.2017
09:22:47
палка о двух концах

Дмитрий
18.07.2017
09:22:57

Artur
18.07.2017
09:23:45
Один и плюс легаси-фича
Как кроме этой фичи описать достаточно частую ситуацию в js, когда у тебя есть функция со свойствами? Ну типа такого:
import fn from "module"
fn()
fn.prop

Сергей
18.07.2017
09:25:02

Admin
ERROR: S client not available

Nikolay
18.07.2017
09:25:09
В итоге то как лучше делать?
Классы отдельно в файлах писать, затем в index.ts что-то типа такого делать:
import { A } from "./A.ts";
import { B } from "./B.ts";
export module MyModule {
export class A;
export class B;
}

Artur
18.07.2017
09:25:10
Один и плюс легаси-фича
Ну и альтернативы засунуть тип внутрь класса нет, если бы было можно написать так:
class SomeClass {
type Props = {}
}
let props = SomeClass.Props
то вопросов бы не было

Nikolay
18.07.2017
09:26:11

Дмитрий
18.07.2017
09:26:23

Artur
18.07.2017
09:26:28

Дмитрий
18.07.2017
09:26:39
Ты серьёзно для этой фичи неймспейсы тащишь?)
Для этого даже ts не нужен, лол

Artur
18.07.2017
09:26:59

Сергей
18.07.2017
09:27:11

Google

Дмитрий
18.07.2017
09:27:40

Nikolay
18.07.2017
09:27:56

Artur
18.07.2017
09:27:57

andretshurotshka?❄️кде
18.07.2017
09:28:04
в остальном не нужно

Дмитрий
18.07.2017
09:28:14
Не норм аще

Dreamerinnoise
18.07.2017
09:28:26
норм

Сергей
18.07.2017
09:28:26

andretshurotshka?❄️кде
18.07.2017
09:28:28
а как еще делать?

Дмитрий
18.07.2017
09:28:35
Чем ему обычная декларация интерфейса не понравилась?

Сергей
18.07.2017
09:28:49
а зачем юзать type, вместо interface?

Дмитрий
18.07.2017
09:28:59
type, не важно

Сергей
18.07.2017
09:29:14
type вроде в extends не может

Дмитрий
18.07.2017
09:29:21
Они оба позволяют объявлять функции со свойствами, сто лет как

Nikolay
18.07.2017
09:29:29

Сергей
18.07.2017
09:29:44

Дмитрий
18.07.2017
09:30:59
Господь дал вам типы, способные перегружать функции со свойствами, а они неймспейсы тащат T_T

andretshurotshka?❄️кде
18.07.2017
09:31:12
http://www.typescriptlang.org/play/#src=declare%20function%20x()%3A%20string%0D%0Adeclare%20namespace%20x%20%7B%0D%0A%20%20export%20const%20prop%3A%20string%3B%0D%0A%7D%0D%0A%0D%0Ax.prop%0D%0Alet%20y%20%3D%20x()%0D%0A

Дмитрий
18.07.2017
09:31:41