@typescript_ru

Страница 219 из 669
andretshurotshka?❄️кде
03.05.2017
07:55:31
Ну есть же discriminated union, правда это не паттерн матчинг, но хоть что-то

Igor
03.05.2017
07:55:47
откуда в TS паттерн-матчинг?
Ну в KotlinJS/ScalaJS он есть хоть какой-то, вроде и в clojurescript есть (но я не теститл)

Google
Max
03.05.2017
07:56:25
интересно как он работает?

const number: SomePattern = prompt(‘Enter phone number’ )

так? )

Igor
03.05.2017
07:58:14
интересно как он работает?
Если ты про “во что конвертируется Kotlin ПМ в JS”, то я не знаю как там под капотом работает. Могу кинуть синтаксис паттерн-матчинга на Kotlin/Scala.

Kirill
03.05.2017
07:58:41
Тут написано closed, а ошибка остаётся. У меня версия 2.3.2.

https://github.com/Microsoft/TypeScript/issues/15420

Max
03.05.2017
08:00:21
return <Component {...props as any} /> на крайний случай )

Dreamerinnoise
03.05.2017
08:01:15
Нет паттерн матчинга в js

И в тс тоже

Igor
03.05.2017
08:01:20
Ну есть же discriminated union, правда это не паттерн матчинг, но хоть что-то
Это когда у разных интерфейсов есть общее поле, которое используется как id? Выглядит реально кривовато.

Kirill
03.05.2017
08:02:59
return <Component {...props as any} /> на крайний случай )
Спасибо. Получается что баг закрыт, но не задеплоен патч-фиксом?

Max
03.05.2017
08:03:36
читай внимательно

Google
Max
03.05.2017
08:03:45
он duplicate

https://github.com/Microsoft/TypeScript/issues/15432

PR https://github.com/Microsoft/TypeScript/pull/13288

andretshurotshka?❄️кде
03.05.2017
08:04:31
Да они эти спреды мусолят уже хз сколько

Max
03.05.2017
09:22:03


я чот опять запутался

при использовании <Link …/> говорит что нет dispatch

Сергей
03.05.2017
09:23:58
в чем проблема сразу импортнуть Component?

Max
03.05.2017
09:24:15
не понял вопрос

Сергей
03.05.2017
09:24:54
import React, { Component } from 'react'

какой смысл писать extends React.Component

это не по ES6-ному

Max
03.05.2017
09:25:15
я не очень понимаю как это относится к вопросу

Сергей
03.05.2017
09:26:05
ты не описал dispatch в Props

Max
03.05.2017
09:26:58
ERROR in [at-loader] ./src/views/containers/Header.tsx:35:35 TS2322: Type '{ name: "editor"; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<Link> & Readonly<{ children?: ReactNode; }> & Read...'. Type '{ name: "editor"; }' is not assignable to type 'Readonly<Props & StoreProps>'. Property 'dispatch' is missing in type '{ name: "editor"; }'.

<Link name="editor">Editor</Link>

уточню ошибку

Сергей
03.05.2017
09:27:32
хотя я бы на твоем месте заюзал recompose

попроще с инферрингом типов, нежели в классах

Aleh
03.05.2017
09:28:30
Тип результата в connect надо руками писать обычно

Google
Max
03.05.2017
09:28:41
export default connect(():StoreProps => ({} as any))(Link)

написал )

same )

Сергей
03.05.2017
09:29:01
не надо as any

в connect можно ничего не писать

просто export default connect()(Link)

а вообще const enhance = connect<YourStateTypes, void, {}>() export default enhance(ComponentName)

Max
03.05.2017
09:30:59
export default connect<StoreProps, {}, {}>()(Link)

пробобвал )

Сергей
03.05.2017
09:31:10


а вообще забинди экшены и юзай DispatchProps

Max
03.05.2017
09:35:56
короче я заебался

Сергей
03.05.2017
09:35:56
http://www.mattgreer.org/articles/typescript-react-and-redux/

Max
03.05.2017
09:36:02
dispatch?(action: any): void

this.props.dispatch && this.props.dispatch(navigate({url, push: true}))

все

костыль ок

Сергей
03.05.2017
09:36:33
а потом меня люди в костюмах убеждают, что юзать тс с реактом это очень хорошо

Dreamerinnoise
03.05.2017
09:36:54
Сколько же писанины надо, чтобы ридакс с тс подружить.

Не пожалел, что на mobx остался

Google
Олег
03.05.2017
09:37:11
*react

Max
03.05.2017
09:39:33
парни, я кусок идиота

у меня импорт {Link}

т.е. необернутый в конект

Aleh
03.05.2017
09:40:49
?

Сергей
03.05.2017
09:41:36
facepalm

Admin
ERROR: S client not available

Max
03.05.2017
09:44:00
но все равно типы пришлось указать

const Link = connect<StoreProps, {}, Props>()(LinkCls);

Aleh
03.05.2017
16:01:21
https://github.com/extr0py/oni neovim с UI на electron

какие-то куски интерфейса из vscode/atom повытягивали, выглядит интересно

ну и typescript интеграция в коробке

Vasiliy
03.05.2017
16:02:17
да, тоже слежу, это прям то, чего нехватает

Vasiliy
03.05.2017
16:03:33
неа, не помню, кажется нет, сейчас попробую

Aleh
03.05.2017
16:06:12
запустилось с каким-то js exception

.
03.05.2017
16:13:30
Я тупанул, нет)

Aleh
03.05.2017
16:13:46
да, в неовим тож норм интеграция, здесь просто с интерфейсом больше поигрались(потырили из атома\вскода)

.
03.05.2017
16:14:35
неовим или спейсмакс по функционалу для тс догоняют вскод?

Aleh
03.05.2017
16:16:11
кроме дебага все есть

Google
Дмитрий
03.05.2017
16:18:20
Без дебага грустно

Aleh
03.05.2017
16:19:33
хз, редко юзаю)

Valeriy
04.05.2017
14:44:03
Всем привет ?? Как в интерфейсе объявить обязательное свойство, которое null или объект? TS 1.8

Mike
04.05.2017
14:44:46
null|YourClass

Valeriy
04.05.2017
14:46:06
Type expected

Ошибка

При использовании null

Сергей
04.05.2017
14:46:40
При использовании null
в обязательном поле не может быть null

Valeriy
04.05.2017
14:47:30
В необязательнов тоже ошибка, таже)

Сергей
04.05.2017
14:48:34
yourField?: YourClass

в чем проблема так сделать?

Valeriy
04.05.2017
14:50:28
Думал можно проще

Сергей
04.05.2017
14:50:41
так это максимально просто

Артем
04.05.2017
14:51:11
> yourField? Так вроде не null, а undefined

Valeriy
04.05.2017
14:51:41
Окей) по моему проще не создавать ради этого ещё класс

Ладно)

Спасибо)

Aleh
04.05.2017
14:52:09
Думал можно проще
что может быть проще о.о

Страница 219 из 669