Size: a a a

2021 January 27

AL

Andrey Listochkin in Frontend UA
норм
источник

AL

Andrey Listochkin in Frontend UA
спасибо всем
источник

EO

Eugene Obrezkov in Frontend UA
По поводу массивов кстати, мне очень зашла эта задачка, я прям профанател ею, когда решал
источник

EO

Eugene Obrezkov in Frontend UA
Telegram
WWW: Wild Wild Web - TypeScript and so, Cheatsheets, Tips
Permutation

https://github.com/type-challenges/type-challenges/blob/master/questions/296-medium-permutation/README.md

> Implement permutation type that transforms union types into the array that includes permutations of unions.
> type perm = Permutation<'A' | 'B' | 'C'>; // ['A', 'B', 'C'] | ['A', 'C', 'B'] | ['B', 'A', 'C'] | ['B', 'C', 'A'] | ['C', 'A', 'B'] | ['C', 'B', 'A']

Господа, держитесь крепче, очень сложная задача, на первый взгляд. Но когда находишь решение, то понимаешь насколько всё было просто. Я пока пытался найти решение к ней, несколько раз перетирал и начинал по новой её решать. И в итоге - решение было найдено. Но обо всём по порядку.

Начну с того, что расскажу о “разделяй и властвуй“. Если вы не можете найти решение задачи, то попробуйте найти решение для более простого куска этой задачи. Так и здесь. Прежде чем найти перестановки всех элементов, давайте начнем с перестановок для 0 и 1 элементов.

В случае, если нам в T приходит never, мы просто возвращаем пустой массив - перестановок…
источник

DB

Dima Bildin in Frontend UA
О, меня permutation как-то остановило, надо будет таки добраться до неё и остальных
источник

EO

Eugene Obrezkov in Frontend UA
Dima Bildin
О, меня permutation как-то остановило, надо будет таки добраться до неё и остальных
Там оказалось всё просто)
источник

EO

Eugene Obrezkov in Frontend UA
Вернее, не так сложно как я себе представлял
источник

VS

V7v S6k in Frontend UA
хтось конвертував csv в geojson через visidata?

У мене фейлиться з такою помилкою:

“must save geojson from canvas sheet”
источник

VS

V7v S6k in Frontend UA
Можливо там треба якісь обов’язкові назви для колонок?
источник

VS

V7v S6k in Frontend UA
Розібрався—насправді візідата може конвертувати лише shapefile в geojson (
источник

IL

Ihor Levchenko in Frontend UA
Такой вопрос.. теоретический.
Редакс.. саги / санки.

Как вы считаете, что есть более правильным:

1) триггерить екшн, который в свою очередь запускает асинхронную операцию, которая меняет стейт используя другие екшены (то, как это делает редакс сага)
2) триггерить саму асинхронную операцию, которая меняет стейт в процессе дергая екшены (то как санки по умолчанию работают)
3) триггерить саму асинхронную операцию, и руками получив результаты - тыкать их в стор через публичные екшены (грубо говоря то же что и (2), только диспатч отдельно)
источник

IL

Ihor Levchenko in Frontend UA
Мне в частности вот что интересно.
В редакс тулките предлагается использовать вот такой модный сахарок для санок…

И в общем-то разумно: санка самостоятельная, не завязана на реализацию слайса, и по сути - переиспользуемая.
источник

IL

Ihor Levchenko in Frontend UA
но там же рядом.. в advanced секции, они сразу же в примере предлагают использовать это вот так.

По сути - жесткая завязка санк-функции на определенный стор, что немного портит картину.

Короче хочу подискутировать и свежих мыслей об этом )
источник

AR

Alexey Raspopov in Frontend UA
Триггерить операцию, обновлять состояние по её результату. Pending состояние асинхронной операции чаще всего можно оставить локальным компоненту, незачем 10 раз обновлять глобальное состояние
источник

IL

Ihor Levchenko in Frontend UA
Alexey Raspopov
Триггерить операцию, обновлять состояние по её результату. Pending состояние асинхронной операции чаще всего можно оставить локальным компоненту, незачем 10 раз обновлять глобальное состояние
то есть идея - перенос максимальной количество “локальной” ответственности - на сам компонент и его состояние, верно?

мне просто интересно кто каких “взглядов” в этом плане придерживается.
источник

AR

Alexey Raspopov in Frontend UA
Да, я всегда за локальные решения, на сколько это возможно
источник

IL

Ihor Levchenko in Frontend UA
Alexey Raspopov
Да, я всегда за локальные решения, на сколько это возможно
а если, например, есть состояние, которое в общем-то касается одной страницы (ну и ветки ее компонентов/контейнеров), по сути не есть глобальным состоянием..

решений так много. Я иногда пишу просто свой кастомный хук в котором определяю поведение. Единственная загвоздка, правда, проброс состояния дальше по ветке.. тут тоже решений может быть много: либо тот же контекст, либо какой-нибудь constate

редакс проще конечно тем, что слой состояния полностью отделен от слоя презентации, и UI просто отображает одно и то же состояние “под разным углом” (с разных страниц/компонентов)
источник

AR

Alexey Raspopov in Frontend UA
> Единственная загвоздка, правда, проброс состояния дальше по ветке..

Prop drilling можно заменить layout компонентами.
источник

AR

Alexey Raspopov in Frontend UA
Например вот так
источник

DB

Dima Bildin in Frontend UA
Ihor Levchenko
а если, например, есть состояние, которое в общем-то касается одной страницы (ну и ветки ее компонентов/контейнеров), по сути не есть глобальным состоянием..

решений так много. Я иногда пишу просто свой кастомный хук в котором определяю поведение. Единственная загвоздка, правда, проброс состояния дальше по ветке.. тут тоже решений может быть много: либо тот же контекст, либо какой-нибудь constate

редакс проще конечно тем, что слой состояния полностью отделен от слоя презентации, и UI просто отображает одно и то же состояние “под разным углом” (с разных страниц/компонентов)
для того чтобы отделить состояние от UI редакс по сути не нужен. Ты можешь брать и изменять стейт в кастом-хуке, в котором хоть useState, хоть useReducer в контексте, хоть из редакса, а в компоненте использовать то же самое апи кастомного хука
источник