Size: a a a

2020 April 21

IT

Ivan Tytarenko in Frontend UA
Есть монорепа с TS. Внутри нее два пакета у которых есть зависимость без типов.
Для этой зависимости есть *.d.ts который лежит в руте монорепы.

В одном пакете типы видит, в другом - нет. Даже если положить этот *.d.ts прямо в пакет.

По каким признакам можно понять в чем проблема? 🙂
источник

AK

Alexander Kuzmenko in Frontend UA
Как обычно решается такая проблема? TS ругается что свойство item может быть undefined
источник

AK

Alexander Kuzmenko in Frontend UA
источник

DK

Dmytro Kovalevskyi in Frontend UA
проверкой перед обращением что оно не undefined?
источник

В

Виталик in Frontend UA
Что если так: this.params.item && this.params.item.author = author
источник

UU

Unhappy Unknown in Frontend UA
this.params.item?.author
источник

В

Виталик in Frontend UA
Или так: const { item: { author = null } = {}} = this.params
источник

В

Виталик in Frontend UA
Unhappy Unknown
this.params.item?.author
В тс так можно?
источник

V

Volodymyr in Frontend UA
Alexander Kuzmenko
Как обычно решается такая проблема? TS ругается что свойство item может быть undefined
источник

AK

Alexander Kuzmenko in Frontend UA
Dmytro Kovalevskyi
проверкой перед обращением что оно не undefined?
Дело в том что если item нет, то нужно его создать
источник

AK

Alexander Kuzmenko in Frontend UA
Виталик
В тс так можно?
Неа, так нельзя
источник

SG

Stas G in Frontend UA
Alexander Kuzmenko
Неа, так нельзя
Обнови Тс, можно
источник

DK

Dmytro Kovalevskyi in Frontend UA
Alexander Kuzmenko
Дело в том что если item нет, то нужно его создать
Ну у тебя тогда будет проверка и если свойства нет то создай его
источник

AK

Alexander Kuzmenko in Frontend UA
Dmytro Kovalevskyi
Ну у тебя тогда будет проверка и если свойства нет то создай его
Ну у меня билдер, в котором будет 100500 методов, не хочется в каждом проверку писать
источник

AK

Alexander Kuzmenko in Frontend UA
Мне кажется это решение следствия, а не причины? Или так нормально делать?
источник

DB

Dima Bildin in Frontend UA
Alexander Kuzmenko
Мне кажется это решение следствия, а не причины? Или так нормально делать?
Да, это решение следствия. Решением причины было бы сделать, что б item был не undefined.
Это то, почему мне не нравится, что добавили елвис оператор, им начнут пользоваться вот так this.params?.item?.status
источник

AK

Alexander Kuzmenko in Frontend UA
Dima Bildin
Да, это решение следствия. Решением причины было бы сделать, что б item был не undefined.
Это то, почему мне не нравится, что добавили елвис оператор, им начнут пользоваться вот так this.params?.item?.status
Но у меня свойство действительно необязательно. Что в таком случае делать?
источник

DB

Dima Bildin in Frontend UA
Alexander Kuzmenko
Но у меня свойство действительно необязательно. Что в таком случае делать?
А почему оно не обязательно? Почему оно не может быть обязательно, но пустым объектом например?
Что ожидается будет происходить при вызове setStatus, когда айтема нет?
источник

V

Volodymyr in Frontend UA
Alexander Kuzmenko
Но у меня свойство действительно необязательно. Что в таком случае делать?
источник

AK

Alexander Kuzmenko in Frontend UA
Dima Bildin
А почему оно не обязательно? Почему оно не может быть обязательно, но пустым объектом например?
Что ожидается будет происходить при вызове setStatus, когда айтема нет?
Это часть параметров, которые можно передать на бек. А можно и не передать
источник