Size: a a a

Elm Lang сообщество разработчиков

2020 September 18

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Denis Krivosheev
Функция возвращает результат, но этот результат может измениться, если какая-то фигня вовне поменяется
этот useGlobal почти не отличается от родного useState
только привязка у одного глобально, у второго к ноде дерева
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
но там минимум стейта, это не расползается особо по приложению. поэтому не болит
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Alexey Yurchenko
этот useGlobal почти не отличается от родного useState
только привязка у одного глобально, у второго к ноде дерева
Я вообще про хуки, а не конкретно про этот
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Denis Krivosheev
Функция возвращает результат, но этот результат может измениться, если какая-то фигня вовне поменяется
нет, во вне ничего не меняется у родных хуков.
там внутреннее состояние завязано на ноду vdom
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
хреново, что это скрыто от пользователя
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Когда это вышло я прям лез в код react и искал. тогда еще там был простой код, легко читалось, быстро нашел.
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Наверное хреново объяснил
хуки завязаны на что-то вроде this у старых классовых компонентов, только теперь this скрытый
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Кажется я понял идею... ну вообще не плохо... по началу мраком казалось но вроде не плохо
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
const useState = () => {
  ...currentNode...
}

Внутри там тип такой код. на глобальную переменную currentNode
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Хорошо что больше это не пишу ) надеюсь не придётся)
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
ну да. в общем я думаю, что большая часть реакт разработчиков не понимают как работают хуки внутри и даже не интересно им, а это важно. У меня такая печальная реальность.
источник
2020 September 19

MP

Max P in Elm Lang сообщество разработчиков
Всем привет)
Подскажите, как можно поменять местами порядок аргументов? вижу, раньше был некий flip.. и вообще, стоит ли так делать?)

viewCategory : Dict String Category -> Dict String ServiceProduct -> String -> Html msg
viewCategory categories products id =
   let
       callback1 =
           \catId -> Dict.get catId categories

       -- Как вместо: (обычный Dict.get)
       -- comparable -> Dict comparable v -> Maybe v
       -- получить: (Dict.get с перевернутым порядком аргументов)
       -- Dict comparable v -> comparable -> Maybe v
       
       maybeCategory =
           Dict.get id products
               |> Maybe.andThen .categoryId
               |> Maybe.andThen callback1
   in
   case maybeCategory of
       Just category ->
           text category.name

       Nothing ->
           text "Unknown category"
источник

p

philipp in Elm Lang сообщество разработчиков
можешь свою функцию написать с нужным порядком аргументов и внутри вызвать с обратным как вариант
источник

p

philipp in Elm Lang сообщество разработчиков
flip делает тоже самое только на генериках чтобы любую функцию можно было передать
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
На каких генериках? :)
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Нет генериков в ML-подобных языках. Есть нормальный параметрический полиморфизм
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Max P
Всем привет)
Подскажите, как можно поменять местами порядок аргументов? вижу, раньше был некий flip.. и вообще, стоит ли так делать?)

viewCategory : Dict String Category -> Dict String ServiceProduct -> String -> Html msg
viewCategory categories products id =
   let
       callback1 =
           \catId -> Dict.get catId categories

       -- Как вместо: (обычный Dict.get)
       -- comparable -> Dict comparable v -> Maybe v
       -- получить: (Dict.get с перевернутым порядком аргументов)
       -- Dict comparable v -> comparable -> Maybe v
       
       maybeCategory =
           Dict.get id products
               |> Maybe.andThen .categoryId
               |> Maybe.andThen callback1
   in
   case maybeCategory of
       Just category ->
           text category.name

       Nothing ->
           text "Unknown category"
А зачем менять порядок? Сам словарь идёт последним,чтобы его удобно было чейнить... можно конечно написать свой флип, но обычно такое читать очень тяжело и не рекомендуют... проще лямбдочку налёту сконструировать
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Ну а если число визуально, если получение айди это сложный процесс, то я б написал это как-то так
let
   Id = doThis |> doThat |> ...
in
Dict.get id dict
источник

MP

Max P in Elm Lang сообщество разработчиков
philipp
можешь свою функцию написать с нужным порядком аргументов и внутри вызвать с обратным как вариант
Так я так и сделал с callback1 :)
источник
2020 September 21

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Всем привет) Сделали тут групку про здоровье программиста... Связано, но не очень сильно) Надеюсь это не сочтут за спам, если да - я удалю https://t.me/programmershealth
источник