@reactnative_ru

Страница 109 из 878
Vladimir
21.03.2017
09:37:04
это если скобочки любишь

Vladimir
21.03.2017
09:37:09
Все возможно - нужно ли, это другой вопрос

Алексей
21.03.2017
09:37:31
Ну вот это как раз неправда
что именно неправда?

Sergey
21.03.2017
09:37:42
А reselect не таже тема, что и redux/mobx?
reselect - эта дополнтельная библиотека для использования совместно с редаксом.

Google
Vladimir
21.03.2017
09:37:51
Что без сайдэффектов невозможно написать программу

Vladimir
21.03.2017
09:38:10
Вполне возможно писать только с помощью чистых функций

Миша
21.03.2017
09:40:06
с мобиксом. Очень удобно вышло и просто
Согласен. Пробовал с редаксом - на 2й вью спрыгнул в мобх. Возможно я просто не проникся) поэтому хочу послушать кого то у кого есть опыт редакса в больших приложениях

HELLO
21.03.2017
09:40:08
Ребята, есть задача, нужно анимировать высоту навигационного хедера, используется react-navigation и StackNavigator. Кто-нибудь сталкивался с таким? Пока думаю что придётся отключать отображение хедера в StackNavigator и рисовать свой хедер как Animated.View

Алексей
21.03.2017
09:40:23
Вполне возможно писать только с помощью чистых функций
ладно, я даже уточню, невозможно написать полезную программу. ясен пень можно написать программу которая ничего не выведет пользователю)

Vladimir
21.03.2017
09:40:41
Вполне возможно

В хаскелле только так и пишут

Алексей
21.03.2017
09:41:15
В хаскелле только так и пишут
неправда, там есть сайд эффекты

Алексей
21.03.2017
09:41:29
Неа
пример?)

Vladimir
21.03.2017
09:41:54
Пример чего? Пример как там нет сайд эффектов?

Google
Алексей
21.03.2017
09:42:24
Пример чего? Пример как там нет сайд эффектов?
ну ты мне хотя бы примерно расскажи как это без сайд эффектов написать)

Vladimir
21.03.2017
09:42:35
Монады

Алексей
21.03.2017
09:43:10
Монады
я ждал этого) монады так же с сайд эффектами, просто это спрятано) я же говорил что можно минимизировать сайд эффекты

Vladimir
21.03.2017
09:43:49
При использовании монад все функции - чистые

О том и речь

Алексей
21.03.2017
09:44:07
сами монады не чистые

Vladimir
21.03.2017
09:44:11
Понятно что у программы в целом есть сад эффекты

Монады не бывают чистые или не чистые

Монады - это просто структуры

Алексей
21.03.2017
09:45:55
вот я про что и говорю, ты фп рассматриваешь только с позиции хаскеля. и говорить что все должно быть чистое, это ударятся в крайности. имхо фп это про композицию функций, а не про чистоту, и в js, а тем более redux можно писать в фугкциональном стиле

даже те же монады, это про композицию

Vladimir
21.03.2017
09:47:53
Использование чистых функций - это основная идея редукса

Но почему то дело ограничивается только редьюсерами

Sergey
21.03.2017
09:48:45
Использование чистых функций - это основная идея редукса
Эта идея в простонародье называется Event Sourcing

Алексей
21.03.2017
09:49:18
нет, app = view(state), так что в идеале вся функция рендера может быть чистой

Vladimir
21.03.2017
09:51:25
Да, только это не имеет к редуксу отношения

Это делает реакт

Алексей
21.03.2017
09:51:46
ну а стэйт то откуда берется)

Vladimir
21.03.2017
09:52:45
Стейт мутируется с помощью редакса

Алексей
21.03.2017
09:53:43
стйэт вообще не мутируется, он иммутабелен

Google
Vladimir
21.03.2017
09:54:49
Стор представляет собой стейт

Вызов dispatch мутирует стор

Алексей
21.03.2017
09:56:42
ну ок, давай от противного пойдем, если по-твоему redux не fp, то какой? ооп? процедурный?

Vladimir
21.03.2017
09:57:32
Не вижу смысла навешивать ярлык

HELLO
21.03.2017
09:59:09
можете взять подсказку

Mars
21.03.2017
09:59:13
Стейт мутируется с помощью редакса
Он не мутируется, он заменяется новым состоянием. Мутируется в данном случае только store. Не state.

HELLO
21.03.2017
09:59:14
50/50

помощь зала

или звонок Данилу (было Денису, простите) Абрамову

Mars
21.03.2017
09:59:48
HELLO
21.03.2017
09:59:59
бля)

Mars
21.03.2017
10:00:20
Я так и сказал
Строго говоря ты сказал не так.

Alex
21.03.2017
10:01:24
так а чего в результате с MobX? в чем подводные камни в миграции с редакса? есть опыт у кого?

Дмитрий
21.03.2017
10:02:00
Добрый день, как cделать чтобы моё приложение открывалось по ссылке в СМС как телеграм. Например telegram://0, myApp://0. ?

Vladimir
21.03.2017
10:04:03
Вызов dispatch мутирует стор

Mars
21.03.2017
10:05:08
Стейт мутируется с помощью редакса

Дмитрий
21.03.2017
10:05:29
Спасибо)

Алексей
21.03.2017
10:05:53
@olebedev сегодня прям день холиваров ?

Google
Mars
21.03.2017
10:07:16
@olebedev сегодня прям день холиваров ?
Может потому что сегодня космическая весна наступила

Алексей
21.03.2017
10:08:27
точно, вчера же равноденствие было))

Vladimir
21.03.2017
10:08:30
Стор это и есть стейт

MadMax
21.03.2017
10:09:49
Сегодня Навруз!)

Adaptive
21.03.2017
10:10:19
Завтра же) 22 по идее вроде)

MadMax
21.03.2017
10:10:25
сегодня

21 марта

Adaptive
21.03.2017
10:10:38
У нас вся страна бухает) и отмечают 22)

MadMax
21.03.2017
10:10:39
Я живу в мусульманском гос-ве))) сегодня отдыхаем

Adaptive
21.03.2017
10:12:26
У нас в пятницу все ток ворк начнут)

MadMax
21.03.2017
10:13:28
нифига се

Я завтра на работу выхожу

Vladimir
21.03.2017
10:18:14
так а чего в результате с MobX? в чем подводные камни в миграции с редакса? есть опыт у кого?
в мобиксе меньше бойлерплейта, но очень большой соблазн не структурировать код

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

не нужны дурацкие константы для экшнов

но если очень хочется, можно мобиксом очень ловко сымитировать редакс:)

Alex
21.03.2017
10:25:46
поучается что то вроде моделей, насколько я понимаю, можно положить в map одного стора объекты другого стора, как категории и в них записи

Vladimir
21.03.2017
10:29:57
ты очень умно пишешь, я не все понимаю:)

Mars
21.03.2017
10:31:27
Стор это и есть стейт
Лучше определись с выбором уже

Google
Vladimir
21.03.2017
10:31:32
в общем, модель, да

которая не требует немагических действий для обновления вьюшки

просто работаешь с ней как с pojo, или в стиле ООП, и вьюхи сами обновляются когда надо

можно юзать ``` @observable class A extends React.Component{ store=observable({a: "foo"}); render(){ return <Button onPress={()=>this.store.a = "bar"}>Click me {this.store.a}</Button> } } ```

вместо стейта

можно вынести из комонента илди вообще в отдельный модуль

Alex
21.03.2017
10:41:13
да, это все прозрачно понятно)

меня больше понравилась вот такая конструкция class User { @observable user = observable.map(); } class UserStore { @observable users; @action putUsers(users) { let userArray = []; users.forEach(user => { userArray.push(new User(user)); }); this.users = userArray; } }

Vladimir
21.03.2017
10:43:23
мм

Alex
21.03.2017
10:43:33
кому интересно, вчерашняя статья на хабре)

https://habrahabr.ru/post/324388/

Алексей
21.03.2017
10:43:59
let userArray = []; users.forEach(user => { userArray.push(new User(user)); }); this.users = userArray; как это работает? ?

а, понял

Vladimir
21.03.2017
10:44:33
вообще достаточно сделать ``` class UserStore { @observable users = []; @action putUsers(users) { this.users = this.users.concat(users); } } ```

Алексей
21.03.2017
10:44:37
проще map-ом пройтись

Vladimir
21.03.2017
10:44:39
для того же эффекта

зачем нужен класс User с полем user

Alex
21.03.2017
10:45:18
а, понял
вырезал часть класса

Страница 109 из 878