
kana
01.11.2017
19:35:07
number => void
пиша Function, ты теряешь часть типизации, зачем тогда флоу вообще

Petr
01.11.2017
19:36:40

kana
01.11.2017
19:37:21
мы теряем типизацию аргументов и результата

Google

kana
01.11.2017
19:37:27
мы можем передать же любую функцию

Petr
01.11.2017
19:37:41
Todo.propTypes = {
onClick: PropTypes.func.isRequired,
completed: PropTypes.bool.isRequired,
text: PropTypes.string.isRequired
}
type Props = {
onClick: Function,
completed: bool,
text: string
}
Вопрос был про это

Stepan
01.11.2017
19:38:06
А как ведёт себя флоу при импорте нетипизированных модулей?

Petr
01.11.2017
19:39:36
надо определить any или скачать уже существующий интерфейс для подключаемого модуля через flow-typed

Stepan
01.11.2017
19:49:20
Спасибо

Nikita
01.11.2017
19:49:30
Пока тут флоу ,как такое типизировать this.props.children[0].props.value?
children очевидно массив реакт компонентов
В type react есть ChildrenArray ,но он только говорит какие элементы должны быть в массиве

Petr
01.11.2017
19:55:09
type Props = {
children: (props: { value: string }) => React.Node
}

Maxim
01.11.2017
19:55:49
действительно, как вот такое типизировать?
children: PropTypes.node.isRequired,
:Node? так такого вроде бы нет

Google

Nikita
01.11.2017
19:57:29

Petr
01.11.2017
19:58:29
а блин
type Props = {
children: Array<(props: { value: string }) => React.Node >
}
если так не сработает я хз ?

Maxim
01.11.2017
19:59:30
короче пока на prop types посижу
для обучения хватит

Nikita
01.11.2017
20:00:20

Alex
01.11.2017
20:17:40
Думаю тут так же

Evjeni
01.11.2017
20:18:03

Alex
01.11.2017
20:18:17
Тоже верно

Petr
01.11.2017
20:21:48
propTypes всё равно нужен в реакте, например для context

Alex
01.11.2017
20:23:18
type ReactChild = ReactElement<any> | ReactText;

Nikita
01.11.2017
20:25:41

Evjeni
01.11.2017
20:25:57

Petr
01.11.2017
20:26:22

Alex
01.11.2017
20:26:33
Там же any

Nikita
01.11.2017
20:27:28
Там же any
Все равно запросит ,мне кажется мне надо просто отказаться от таких элементов в пользу объектов
Скажет ,что uncovered code

Google

Alex
01.11.2017
20:30:15
Ты хочешь юзать пропы чилдрена?

Nikita
01.11.2017
20:30:32

Dmitry
01.11.2017
20:30:35
ребят как часто вам приходится делать optimistic updates ?

Alex
01.11.2017
20:30:54
Да
Можно пример, для чего?

Nikita
01.11.2017
20:33:10

Alex
01.11.2017
20:34:37
Я делал ремап чилдренов изначально они как jsx .element я брал проп type и свитчил по нему кейсы в разные типы чилдрена т.е. Получал уже конкретный тип элемента

Petr
01.11.2017
20:35:46

Nikita
01.11.2017
20:36:16

Alex
01.11.2017
20:36:26
Думаю если ты так сделаешь, то ругаться не будет потому что сможешь преобразовать jsx.element в конкретный тип, а у него пропы будут уже типизированны

Nikita
01.11.2017
20:37:15
Ладно ,спасибо ,изначально кажется идея неправильная
Так как пропсами компонента должен пользоваться только он

Petr
01.11.2017
20:38:32
Верно

Andrew
01.11.2017
21:03:35
Сейчас будет тупой вопрос. Но все таки какие прям супер очевидные плюсы от типизации
Код легче понять,скейлить его намного проще ?

Yaroslav
01.11.2017
21:05:07
дебажить проще

Stepan
01.11.2017
21:07:37
Собственно, и всё

Victor
01.11.2017
21:07:54
еще крутое автодополнение в редакторе же)

kana
01.11.2017
21:08:50
самое очевидное же - это меньше багов из-за того, что запихнули что-то туда, куда это пихать не нужно

Andrew
01.11.2017
21:10:40
Ну оно и так все скрашится если типы не совпадут, наверное больше заставляет думать о том что куда пихаешь

Google

Maksim
01.11.2017
21:11:28

Victor
01.11.2017
21:11:49

Alex
01.11.2017
21:11:49
Исключает большое кол. Ошибок, плюс рефакторинг по всему апу

Andrey
01.11.2017
21:17:52
Я из типизированного мира, но в принципе есть места, где удобно не иметь типа...

kana
01.11.2017
21:18:08
вот, кстати

andretshurotshka?❄️кде
01.11.2017
21:20:59

Andrey
01.11.2017
21:21:10
У нас фронтендер в экшен добавляет кроме payload свойство location. И когда этот экшен пробегает через мидлвари, одна из них проверяет этот локейшен и если он есть, редиректит всю страницу на указанный урл

Alex
01.11.2017
21:21:13
Тоже интересно, считал так когда переходил с php на C#, особенно было сложно с массивами, но со временем пришло понимание и поменялось мышление, теперь очень редко бывают проблемы

Andrey
01.11.2017
21:22:45
В случае с типами, ты бы должен был определить все возможные поля, какие экшен может принимать... что наверное возможно, но элегантно бы не смотрелось наверное
С payload вообще не вариант, он всегда будет разный

kana
01.11.2017
21:23:21

Andrew
01.11.2017
21:23:57
Я прост кроме js ничего не знаю по этому трудно судить о нативной типизации ??♀️

Andrey
01.11.2017
21:24:39
Я только в js заезжаю, подробнее не скажу. Но отсутствие типов меня раздражает.

Andrew
01.11.2017
21:25:32
Ну есть вообще-то 6 типов

Andrey
01.11.2017
21:25:32
Мне вообще не сколько типы нужны, сколько суппорт от IDE
На яве я пишу, в документацию не смотрю, автодоролнения все решают ;)
6 недостаточно, для описания мира ;)

Andrew
01.11.2017
21:28:05
Самой ад в js как по мне это работа с дробными числами

Google

Andrey
01.11.2017
21:31:51
Да это везде так. Но в яве есть подходящие абстракции которые дают работать с цифрами как с текстом.

Alex
01.11.2017
21:33:54
А что не так с добрыми?
Тип много знаков после запятой?
Есть же округление? Про форматирование не помню

Nikita
01.11.2017
21:41:47

andretshurotshka?❄️кде
01.11.2017
21:42:52
В флоу да, в тс нет)

Nikita
01.11.2017
21:43:56
вот, кстати
Так когда в качестве пропсов получаешь ,то Function ,а в месте где объявление типизируешь
или я не прав?

Anton
01.11.2017
21:57:57

Котяй Негодяй
01.11.2017
22:37:37
Что-нибудь кроме redux-act(ions) уже придумали?

Dmitry
02.11.2017
00:50:55
«помните: реакт-роутер получился только с 4 версии, а редакс-форм вообще с 6-ой» (с) Е.Родионов
Можно кратко для тех кто ещё ни то , ни другое не использовал , что в старых версиях было такое, с чем я видимо , к счастью, и не столкнусь ?

Andrey
02.11.2017
01:17:04
Я думаю, что тебе надо у своего авторитета спрашивать.

Aleksei
02.11.2017
01:39:43
А не стандартизированные атрибуты это плохо. Такого у нас не одобрят) я недавно вкручивал оптимизацию первой отрисовки, которую Гугл рекомендует, с удалением body и переносом не блокирующих линков из хида. Так вой стоял страшный, что это мол не по w3c)

Дмитрий
02.11.2017
04:49:00
«Помните: реакт-роутер получился только с 6 версии»