@react_js

Страница 2998 из 5115
Диванный
24.01.2018
08:29:09
страно никто не работает с редакс формой что ли?

такое ощущение что я первый )

ed
24.01.2018
08:30:23
такое ощущение что я первый )
мы работаем, сколько работаем столько и огребаем, все формы по 10-20+ полей с вложенностями и кучей доп флагов

мой вариант не сработал?)

Google
Диванный
24.01.2018
08:31:02
Диванный
24.01.2018
08:31:49
мы работаем, сколько работаем столько и огребаем, все формы по 10-20+ полей с вложенностями и кучей доп флагов
ваш ответ не утвердительный поэтому и странно если у вас 10-20 форм вы бы мне точно овететили - мол вот тут косячоr или я не прав?

Диванный
24.01.2018
08:32:32
чуть позже првоерю

Benjamin
24.01.2018
08:40:18
Евгений
24.01.2018
09:12:03
Привет, как и обещал 2 дня назад, пишу в чем было дело: оказывается при первом рендере он не заходил в редюсер, и данные не успевали приходить из свича, бралось дефолтное значение и там был просто пустой объект, как я понял - первый рендер всегда с дефолтным значением происходит. решено при помощи проверки if(!this.props.data) return null;

при втором рендере данные приходят и оно дальше нормально отрабатывает

ed
24.01.2018
09:13:31
Привет, как и обещал 2 дня назад, пишу в чем было дело: оказывается при первом рендере он не заходил в редюсер, и данные не успевали приходить из свича, бралось дефолтное значение и там был просто пустой объект, как я понял - первый рендер всегда с дефолтным значением происходит. решено при помощи проверки if(!this.props.data) return null;
не знаю в чем дело, но из-за возможно подобной проблемы мы всегда экшены вызываем в willMount чтобы на момент рендера успели проставится флаги (например isFetching) и благодаря этому не делается 1 лишний рендер когда редюсеры еще не готовы (или в них прошлые данные)

Google
ed
24.01.2018
09:15:25
это я про ситуации когда рендерится что-то из реста. Экшен делает 3 раза dispatch, pending/success/error. Вот, если pending (в редюсере ставим флаг isFetching) - рендерится лоадер. Но все FAQ почему то говорят делайте вызов экшена в didMount и у всех… всегда первый рендер или с пустыми данными, или с прошлыми

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

Если это сделать в willMount то до рендера проставится isFetching и не будет «лишнего рендера», а разу будет лоадер

Евгений
24.01.2018
09:16:21
а, спасибо за идею

ed
24.01.2018
09:16:22
хотя в случае если использовать reselect - это не всегда успевает отработать, не помню точно но были с этим траблы

так же на подобных ситуациях можно получить вообще краш если джун взял просто this.props.data.name какой-то, а data - еще не существует (первый рендер без выше описанной проверки)

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

ну и как минимум к 1 лишнему рендеру

Евгений
24.01.2018
09:20:01
ну наверно потому

что willMount вызывается несколько раз

и насколько я знаю дергается в разные моменты лайфсайкла

то есть он вызывается не только до didMount

Дмитрий
24.01.2018
09:20:42
willMount может и на сервере дернуться например

Евгений
24.01.2018
09:20:46
а еще в какие то хуки

да

ed
24.01.2018
09:22:45
willMount может и на сервере дернуться например
Спасибо за инфу, как тогда решать траблу когда надо отрендерить что-то, что уже было загружено но надо перетереть? Типчно-костыльная ситуация, есть reducer key {users:{user:{isFetching, error, data}}} был переход со страницы users/5 на users/6. редюсер - заполнен, заполнить форму initialValues данными прошлого пользователя - недопустимо

то есть мне надо сделать isFetching:true, показать лоадер (сразу) подгрузить его и только потом сделать первый рендер с данными

Google
ed
24.01.2018
09:24:43
проблема возникает в случае didMount и если это одно поле, кажется я где-то упустил дзен

ed
24.01.2018
09:29:18
При переходе редьюсер уже вполне может самостоятельно очиститься
но, вынести это куда-нибудь в «кнопку» это будет естественно не правильно, то есть это должно быть где-то на уровне событий навигации? Есть возможность кинуть на доку/пример?

Дмитрий
24.01.2018
09:30:50
Да, на уровне событий) Дока будет когда будет к чему ?

ed
24.01.2018
09:42:19
Да, на уровне событий) Дока будет когда будет к чему ?
интересно использовалось ли такое в продакшене и как связали переход на тот-же самый роут но с изменением параметров для очистки стейта), в принципе это реализуемо, но интересно есть ли где-то инфа в паблике или примеры)

Дмитрий
24.01.2018
09:46:44
интересно использовалось ли такое в продакшене и как связали переход на тот-же самый роут но с изменением параметров для очистки стейта), в принципе это реализуемо, но интересно есть ли где-то инфа в паблике или примеры)
Чтобы не заморачиваться сделал просто компонент PageMeta который кладёт в стейт название страницы (ака внутренний тип) и аргументы с которыми был вызван

ed
24.01.2018
09:47:49
Чтобы не заморачиваться сделал просто компонент PageMeta который кладёт в стейт название страницы (ака внутренний тип) и аргументы с которыми был вызван
на досуге попробую, спасибо) у нас нет серверного рендера, поэтому способ с willMount пока что активно используем

Дмитрий
24.01.2018
09:48:53
Ключевое что PageMeta сделан так что гарантированно не будет менять состояние пока аргументы не станут отличаться (shallowCompare). В итоге все сущности которые подписаны на его изменения могут не париться о том, что данные дублируются

Но это из того что легко объяснить) Эпики подписанные на изменения location в редаксе объяснить сложнее ?

Ilya
24.01.2018
09:54:34
У кого есть pdf? react redux функциональная разработка книжка - интересно глянуть

Vitaly
24.01.2018
09:59:51
ребзья, а кто lint-staged использует в монорепе? Как бы там запустить jest по пакеджу а не по каждому изменившемуся файлу?

Ilya
24.01.2018
10:01:05
Спасибо! Добрый человек поделился )

Victor
24.01.2018
10:04:07
Здравствуйте, коллеги. Объясните пожалуйста, почему именно так? https://github.com/ghengeveld/react-redux-styleguide#redux (exporting anonymous or arrow functions should be avoided)

ed
24.01.2018
10:05:01
Но это из того что легко объяснить) Эпики подписанные на изменения location в редаксе объяснить сложнее ?
Есть еще один вопрос, тудаже, как это будет работать с lazy load page компонентов в роутере? Твоя обертка над lazy load оберткой?

Cenator
24.01.2018
10:05:33
export const myFunc = () => {}

import { myFunc } from './my-func'

Andrew
24.01.2018
10:07:17
Пионер юзают rf ???

Чет ору

Cenator
24.01.2018
10:07:50
ты бы видел что в сбере

Google
Victor
24.01.2018
10:07:52
@itsjohncena , (exporting anonymous or arrow functions should be avoided) arrow functions означает просто неименованый экспорт? export () => {}

Cenator
24.01.2018
10:08:07
используй мой вариант, он самый идеологически верный

Victor
24.01.2018
10:08:36
а такой? export function doSomething() { ?

Cenator
24.01.2018
10:08:46
сработает

Victor
24.01.2018
10:09:25
я просто хочу разобраться, почему экспорт стрелочных функций следует избегать. (Как написал дядя по ссылке)

Sergey
24.01.2018
10:09:39
Ребят, есть хорошая и понятная статья, когда использовать PureComponent?

Admin
ERROR: S client not available

Cenator
24.01.2018
10:09:58
а такой? export function doSomething() { ?
а вообще советую поставить нормальный конфиг

https://www.npmjs.com/package/@atomix/eslint-config-react

Victor
24.01.2018
10:10:11
используем typescript

Дмитрий
24.01.2018
10:10:25
Есть еще один вопрос, тудаже, как это будет работать с lazy load page компонентов в роутере? Твоя обертка над lazy load оберткой?
Да, принцип — ни один редьюсер не должен загружаться позже чем первая фича его использующая

Vlad
24.01.2018
10:10:34
Ребят, есть хорошая и понятная статья, когда использовать PureComponent?
все что нужно знать по пуркомпонент это то как он смотрит изменения, это лучше посомтреть в либе

Victor
24.01.2018
10:12:02
@itsjohncena спасибо за помощь :)

Artyom
24.01.2018
11:04:15
Кто уже nerv попробовал, есть подводные камни?

Cenator
24.01.2018
11:05:58
это inferno переписали? или переименовали?

Artyom
24.01.2018
11:06:37
https://github.com/NervJS/nerv#switching-to-nerv-from-react

Ҫѐҏӗѫӑ
24.01.2018
11:20:55
хотел посмотреть как они тестят на совместимость с реактом не нашел тестов в репе вообще

а, нет. не заметил, чот есть

но тесты не от реакта, свои

Google
Viktor
24.01.2018
11:25:49
ребят, для ssr сами пишете инструменты или next используете?

Viktor
24.01.2018
11:26:49
next для простых проектов ?

Cenator
24.01.2018
11:27:22
нет

Cenator
24.01.2018
11:29:10
так-то некст хорош, но там сервинг статики и фоллбек на pages не отключается

Max
24.01.2018
11:29:23
Нехт нащит

ed
24.01.2018
11:54:52
Boolean(«0») !== false Boolean(0) === false

вообще как тут говорили другие ребята проверь initialValues и проверь, что в него приходит это поле и оно правильно превращается в бул (в твоем случае вероятно это строка, а тогда всегда тру будет)

Andrew
24.01.2018
12:01:00
https://github.com/NervJS/nerv#switching-to-nerv-from-react
Интересно как со сторонними пакетами будет работать

Cenator
24.01.2018
12:10:56
как бороться с кавычками, приходящими в json во время серверного рендера?

ломают вообще все

Max
24.01.2018
12:13:45
В смысле?

Что приходит и как ломают?

Cenator
24.01.2018
12:14:25
Что приходит и как ломают?
window.initialI18nStore = JSON.parse('${JSON.stringify(initialI18nStore)}')

при таком раскладе жсон обламывается на single кавычках внутри жсона

если делать parse("${json}"), то ломается на двойных кавычках, из которых состоит жсон

Страница 2998 из 5115