Fork me on GitHub
#clojure-russia
<
2016-09-02
>
artemyarulin07:09:07

Грусть печаль с ошибками ex-info, думал применить везде для CLJC в итоге 1 В CLJS есть ex-message в CLJ нету, надо писать руками (.getMessage err) 2 (clj->js (ex-info "aaaa" {})) не работает, что конечно логично но легче не становится - надо вручную конвертить 3 Проверка на ошибки тоже не удобно (instance? clojure.lang.ExceptionInfo err)

Kira Sotnikov07:09:04

rmuslimov спасибо!

Kira Sotnikov08:09:07

господа, а какоя библиотечка лучше подходит для SQLite?

Kira Sotnikov08:09:17

с прицелом на то что возможно валить на поцгрес

Kira Sotnikov08:09:50

хочу заменить датомик в боте (ибо это оверхед) но хочу оставить возможность использовать что-то взрослое

misha08:09:53

@artemyarulin (defn einfo? [x] (instance? clojure.lang.ExceptionInfo x)) kappa

andre08:09:20

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

misha08:09:22

возможно так и есть

andre08:09:55

как так?

misha09:09:19

> все элементы обновляются

andre09:09:26

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

andre09:09:10

ну т.е. если один элемент изменился то перерисовываются все

andre09:09:27

возможно конечно это просто эта фигня глючит

misha09:09:45

может реагент чо не так делает? либо бажный чекбокс

andre10:09:36

надеюсь второе 🙂

andre10:09:38

reagent manages updates by marking components as dirty manually (edited) in a way it circumvents the two official ways of updating components provided by react (state, props) I wouldn't be surprised if this confused tools you can verify if components re-render by adding logging to the render method

misha10:09:39

> adding logging to the render method классика 🙂

potapenko12:09:14

@andre идея реакт эффективно обновлять DOM если состояние изменилось, и сразу весь домен одним куском, за раз. А компоненты тупо выплевывают новый shadow dom который обновляется если меняются props и state. У тебя компоненты stateless? Или у них есть свой стэйт? (let[] (fn[] ….

andre12:09:27

я думаю проблема все-таки в это туле

andre12:09:47

я проверил на реагент примерах там все перерисовывается всегда

potapenko12:09:42

в RN хорошо можно поглядеть fps, и забыть 🙂

potapenko12:09:53

гляди фпс

potapenko12:09:11

есть же для react-а в браузере тулл который показывает

andre12:09:48

ну я скажем больше хотел проверить правильно ли все работает

andre12:09:51

как я ожидаю

andre12:09:12

и вот увидеть что рендерится конкретно реактом было бы удобно, но этот тул похоже не работает, а других я не нашел

savelichalex13:09:23

@andre с reagent не пробовал но вот это интересная штука https://github.com/garbles/why-did-you-update

andre13:09:38

интересно. спасибо, гляну

dbushenko13:09:34

@savelichalex Используют в основном Component от Стюарта Сиерры или mount

potapenko14:09:31

@andre Полезно еще поглядеть какая часть DOM обновляется - “Enable paint flashing" еще тут - https://developers.google.com/web/tools/chrome-devtools/profile/evaluate-performance/timeline-tool?hl=en#profile-painting

d-side16:09:34

@andre метаданные ^{:key ключик} проставлены?

d-side16:09:03

Я сейчас смотрю на главную Reagent, там почти вся страница одно здоровое приложение, и меняется только то, что аффектится изменениями в стейте.

d-side16:09:40

Хотя то, на что я смотрю, без :key вообще. ._.

artemyarulin16:09:23

вроде ключи убрать хотели в последнем реакте

d-side16:09:30

Прикольно. И как предлагается резюзать DOM-узлы?

artemyarulin16:09:51

а неа, чета не могу найти новость - наврал наверно

d-side16:09:06

Да, моё гугл-фу меня тоже что-то подводит 🙂

artemyarulin16:09:32

перепутал я наверно с чем-то другим, сори)

d-side16:09:54

Жаль, я уж надеялся, что придумали какую-то магию, с которой на ключи можно забить 🙂

d-side16:09:11

Что-то калибра go в core.async %)

artemyarulin16:09:27

ааа, data-reactid is out я с этим спутал