@typescript_ru

Страница 438 из 669
Vadim
13.12.2017
14:20:00
У объекта, как я сказал выше, поля строковые

Andrew
13.12.2017
14:21:16
почему? если стоит задача убрать ошибку, то сработает
Это не убирает ошибку, а маскирует ее за счет отключения проверок

Александр
13.12.2017
14:22:01
Это не убирает ошибку, а маскирует ее за счет отключения проверок
а есть другие варианты до обновления тс до 2.4? пример такого any: https://stackoverflow.com/a/17839554

Aleh
13.12.2017
14:23:16
ну только не <any>, а as any. Но вообще обновиться надо

Google
Aleh
13.12.2017
14:23:29
или не юзать enum, это еще лучше

Andrew
13.12.2017
14:23:40
Если код использовал эту фичу, то очевидно что он рассчитан на 2.4+

Ostap
13.12.2017
14:24:32
Andrew
13.12.2017
14:26:19
Можно наверное заменить на discriminated literal type

Александр
13.12.2017
16:43:10
Можно наверное заменить на discriminated literal type
А что вы от этого попапа хотите?

Andrew
13.12.2017
16:43:55
Kirill
13.12.2017
16:51:25
А что вы от этого попапа хотите?
Если что, то я спрашивал в ide чате про попап.

Vadim
14.12.2017
09:04:51
А значение тоже должно соответствовать полю енума

Aleh
14.12.2017
09:05:24
type x = "foo" l "bar" type y = { [ key : x ] : string }
так нельзя, для этого Record или руками mapped type описать

А значение тоже должно соответствовать полю енума
https://www.typescriptlang.org/play/index.html#src=type%20Key%20%3D%20%22a%22%20%7C%20%22b%22%20%7C%20%22c%22%20%7C%20%22d%22%0A%0Atype%20MyEnum%20%3D%20%7B%0A%20%20%20%20%5BK%20in%20Key%5D%3A%20K%0A%7D%0A%0Adeclare%20const%20a%3A%20MyEnum

Vadim
14.12.2017
09:08:38
Это ок. Я интересовался как использовать именно enum, а не его имитации в версии 2.3 )

Но уже понял что для этой цели нельзя

Google
Vadim
14.12.2017
09:08:49
Спасибо!

from
14.12.2017
11:51:20
слушайте, не у кого не было проблемы что методы в конструкторе в тс как-то хреново байндятся?

боюсь не могу лучше объяснить) суть в том, что простейший компонент с стейтом и инпутом и вылетает ошибка Warning: setState(...): Can only update a mounted or mounting component

компонент простейший:



Aleh
14.12.2017
11:53:05
Лучше гист чем фотка

from
14.12.2017
11:53:09
при этом если не байндить, а стрелочную функцию передать, всё нормально

:(

Сергей
14.12.2017
11:53:22
ты без подсветки синтаксиса пишешь?

Mike
14.12.2017
11:53:24
Вообще очень странно

from
14.12.2017
11:53:27
Лучше гист чем фотка
да тут смотреть-то нечего

Aleh
14.12.2017
11:53:54
Вроде норм выглядит

from
14.12.2017
11:54:26
да вот и я о чем... причем в другом проекте норм...

Aleh
14.12.2017
11:54:28
У меня такие же работают

from
14.12.2017
11:54:32
но в упор не могу понять что тут не так

вот выдаёт эту ошибку и всё если не байндить и через девтулзы вызвать handleChange, тоже всё правильно работает

то есть я виню этот байнд но сам не понимаю, как он может быть виноват предположение только что ts как-то конструктор по-другому обрабатывает....

Сергей
14.12.2017
11:57:13
ты думаешь в этом компоненте дело?

Google
Сергей
14.12.2017
11:57:17
а может в другом?

скинь это текстом

from
14.12.2017
11:57:59
class QueryStringForm extends React.Component<Props, State> { constructor(props: Props) { super(props); this.state = { name: 'qwe' }; // this.handleChange = this.handleChange.bind(this); } handleChange(e: React.FormEvent<HTMLInputElement>) { console.log('handleChange'); this.setState({ name: e.currentTarget.value }); } render() { return ( <form> <input type="text" onChange={this.handleChange} /> </form> ); } } export default QueryStringForm;

а может в другом?
нууу...... всё наверное может быть... ща подумаю

ну что, нет ни у кого идей?...

у меня тоже придётся наверное с нуля воспроизводить

Mike
14.12.2017
13:01:40
ты смотрел в компиленный код? который js получается?

очень странно выглядит, должно работать

from
14.12.2017
13:02:54
о, идея спасибо, ща попробую посомтреть

Evgeny
14.12.2017
13:05:53
это же в рантайме ошибка?

from
14.12.2017
13:06:05
ага

Evgeny
14.12.2017
13:06:54
с текста ошибки очевидно, что setState срабатывает когда у тебя компонент уже заанмаунтился

from
14.12.2017
13:07:12
"очевидно"-"очевидно" никуда он не анмаунтится только)

Evgeny
14.12.2017
13:07:13
побуду капитаном

я просто пытаюсь сам для себя понять, каким образом тут тайпскрипт может влиять

потому что компонент выглядит обычно

from
14.12.2017
13:12:09
я думаю, что с ошибкой тут реакт мог... ошибиться)

Evgeny
14.12.2017
13:12:29
ты не смотрел скомпиленный код?

from
14.12.2017
13:14:16
вот добрался

блин, в нём не к чему придраться :/

Google
from
14.12.2017
13:14:44
constructor(e){super(e),this.state={name:"qwe"},this.handleChange=this.handleChange.bind(this)

весь компонент такой class o extends r.Component{constructor(e){super(e),this.state={name:"qwe"},this.handleChange=this.handleChange.bind(this)}handleChange(e){console.log("handleChange"),this.setState({name:e.currentTarget.value})}render(){return r.createElement("form",null,r.createElement("input",{type:"text",onChange:this.handleChange}))}}

Evgeny
14.12.2017
13:16:10
ну просто ты ж понимаешь, если бы бинд криво отработал, то у тебя бы setState не выполнился бы вообще

был бы не ворнинг а какой нибудь эскепшен

from
14.12.2017
13:18:56
ну я как бы в полном замешательстве ) через стрелочную функцию работает

Admin
ERROR: S client not available

from
14.12.2017
13:19:22
может это вообще баг реакта какой-нибудь особенный

тут ещё и не обновиться легко из-за блюпринта блин

Evgeny
14.12.2017
13:22:17
у коллеги был похожий прикол со сторибуком, он в него сгрузил компонент который делал асинхронный запрос на сервак. когда он начинал клацать по табам сторибука, то компонент естественно анмаунтился и когда промис с респонсом резолвися, прилетал похожий ворнинг

у тебя может быть похожая ситуация

Maxim
14.12.2017
13:49:27
"typeRoots": [ "../../typings" ],

не резолвит

только в одном каталоге резолвит

ЧЯДНТ ? или в каком-то билде тс - это отвалилось ?

странно, что без baseUrl не работает..

Dmitry
15.12.2017
05:23:18
Добрый день :)



С ts работаю впервые, потому извиняюсь если банальщина :)

this.newDeliveries это массив объектов ес чо

Aldar
15.12.2017
05:27:27
Попробуй a: any

Google
Aldar
15.12.2017
05:28:22
И б тоже эни

Dmitry
15.12.2017
05:28:30
Попробуй a: any
Неа a:number b:number тоже не помогает

Может при объявлении массива объектов нужно было какие-то типы прописать?

Andrew
15.12.2017
05:30:02
Народ, вы чо

Функция сортировки должна number возвращать

1, 0 или -1

Александр
15.12.2017
05:31:20
измени < и > на -

Dmitry
15.12.2017
05:31:50
измени < и > на -
Тогда сортировка работает не по убыванию/возрастанию, а просто меняется местами индексы

1, 0 или -1
Вот с этим вроде бы все хорошо

Andrew
15.12.2017
05:32:15
измени < и > на -
На + бред получится, не?

Александр
15.12.2017
05:32:44
На + бред получится, не?
да, плюс зря написал, сплю еще))

Andrew
15.12.2017
05:32:57
a-b и b-a

Александр
15.12.2017
05:33:00
На + бред получится, не?
только минус нужен

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