D
народ миксины в реакте еще используют? или это не круто?
Igor
и в Wrapped кажется не адекватным
унаследовать от Wrapped? Ощущение что у тебя на возвращаемый класс не прокидываются пропсы с Wrapped
Igor
return class extends Wrapped
Roman
народ миксины в реакте еще используют? или это не круто?
какие такие миксины?)) а если серьезно, то нет
Oruj
compose своя ?
на курсах. она рабочая
Dmitry
на курсах. она рабочая
а смысл писать ее ? Возьми из ридакса https://github.com/reduxjs/redux/blob/master/src/compose.ts
Oruj
???
да и я в ахуе) но очень интересно
Igor
Я хз, скорее всего хуйню написал.
Oruj
return class extends Wrapped
нет, так его вообще поносит. и так не пишутся HOC-и имхо
Oruj
получилось?)
а это HOC на предыдущей итерации compose) тут все работает
Andrew
Ребята, разбираюсь тут в тестировании реакт компонентов. Раньше до тестов все руки никак не доходили. У меня есть функия, которая отправляет запрос на сервер и, если сервер возвращает 4xx или 5xx, должна вывести сообщение об ошибке. В общем вопрос, как в стэке jest/enzyme проверить результат перерендера компонента после асинхронной операции? я мокнул респонс, стригерил клик на кнопку отправки формы, а по какому событию я должен понять, что асинхронная операция завершилась и можно проверять результат - хз. Или это как-то вообще по-другому реализуется?
Igor
а это HOC на предыдущей итерации compose) тут все работает
может и правда в конструкторе нужно сделать super(props)
Seva
привет как типизировать деструктуризацию ? const [ one, two ]: ?? = foo()
Igor
:[number, string]
Seva
да
Igor
вот попробуй варианты выше, соответственно вместо намба и стринга - твои типы, которые тебе нужны
Ivan
:Array<number, string>?
Что такое Array<number, string>? Это в каком языке?
Igor
Что такое Array<number, string>? Это в каком языке?
тс вроде как) Пишу по памяти, сам с ним мало работал
Ivan
тс вроде как) Пишу по памяти, сам с ним мало работал
я даже playground запустил, испугался — вдруг я тупой ан нет Generic type 'Array<T>' requires 1 type argument(s)
Ivan
Typescript или Flowtype
выше я привёл сообщение об ошибке из TS, вот сообщение об ошибке из flow Cannot use type without exactly 1 type argument.
Igor
но лучше тогда через []
Ivan
Array<number|string> значит)
нет, это массив произвольной длины с числами или строками. в любом порядке и вообще как угодно
Ivan
привет как типизировать деструктуризацию ? const [ one, two ]: ?? = foo()
Это называется Tuple, на русском что-то вроде «кортеж» https://www.typescriptlang.org/docs/handbook/basic-types.html#tuple https://flow.org/en/docs/types/tuples/
Ivan
Да, но если определенной длины с определенными типами то []
это tuple и это не то же самое, что массив и бог с ними — не будем уходить в оффтоп
Igor
это tuple и это не то же самое, что массив и бог с ними — не будем уходить в оффтоп
может быть по тайпингам в тс тюплы, не спорю, то тем не менее можно использовать методы для массивов)
Igor
Это называется Tuple, на русском что-то вроде «кортеж» https://www.typescriptlang.org/docs/handbook/basic-types.html#tuple https://flow.org/en/docs/types/tuples/
в самой ссылке есть описание «Typing tuple-like array values», массив остается массивом при этом все равно)
Philipp
Ребят, а почему плагин для хрома Redux DevTools может не видеть storage? На скрине видно, что состояние есть.
Sergey
Это отличная конструкция, которая есть в функциональных языках и некоторых других
Default
Святая троица List, Tuple и Set
N
Привет, подскажите, как работать с картинками в реакте? У меня есть проект хочу вставить картинку, а реакт ее попросту не видит
Philipp
Потому что не подключили в коде
Хмм, поидее подключил. Вот создание store
Sergey
Я рад за тебя
Philipp
А вот передача
voix
😱 нет же!
voix
В фп tuple вообще незаменимы.
Sergey
Не. Просто толку информации о том что ты не используешь. Много кто использует. Ибо проще сделать кортеж нежели создавать инстанс объекта
Sergey
Особенно когда это уместно
Philipp
Я не знаю что такое oidc
Это добавляю в стор поддержку redux-oidc ( OpenId Connect).
Default
Map всё-таки не в этой песочнице, как и Dict
Sergey
Какой тип? Какой задашь. Набор типов
Ivan
в самой ссылке есть описание «Typing tuple-like array values», массив остается массивом при этом все равно)
я же не говорю, что это не так я говорю, что в TS есть два совершенно разных типа, которые используются в совершенно разных ситуациях. да, они оба в рантайме являются массивами и имеют все поля и методы массивов. это массивы и есть, если говорить о js. но если говорить о типах (на другом уровне абстракции), то это совершенно разные вещи
Sergey
От языка зависит. Но такие огромные кортежи это как минимум странно
Дмитрий
Если ты в тупл суеш больше 5 элементов, значит что-то идёт не так...
Ivan
совершенно нет
Sergey
Нет. Это для нескольких разных типов одного кванта данных
Andrey
const [state, setState] = useState(...) [T, (data: T) => void]
Igor
если ты про массив с объектами то Array<UserInterface>
Sergey
[bytes, length]: [Buffer, number]
Sergey
Ты реакт не знаешь?
Igor
где UserInterface - типизация объекта юзера
Andrey
это то, без чего сидеть в етой группе - как минимум странно
Sergey
Тогда стоит жс сначала изучить
Philipp
Все, разобрался, если кому надо будет потом #redux #reduxdevtools #devtools #store #middleware Надо было мидлварь через compose подключать.
N
Точно, забыл, спасибо)
Sergey
Толсто
Philipp
И еще добавить какую-то магию - window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__() : f => f,. Не в курсе, что это.
Default
Ты либо пытаешься тралировать, либо херню несешь, вот я даж не знаю, что ответить на это