
Алексей
01.01.2017
17:57:43

Roman
01.01.2017
18:45:19
у меня тут теперь другая проблема, я пытаюсь прос пропихнуть через несколько компонентов, и ненаходу как state поменять с помощью этого пропса

Google

Ҫѐҏӗѫӑ
01.01.2017
18:47:14
componentWillReceiveProps?

Roman
01.01.2017
18:53:32
но пропс получает если как текст показать и он даже меняется когда ре-рендер произходит
так уже получает: очень странно, я только state с true на false поменял что вообще никакого отнощения не имеет ни к чему

Felix
01.01.2017
19:04:59

Roman
01.01.2017
19:06:48
так и делал только вместо newProps, просто props
вообщем работает но непонятно от чего вдруг начал может я файл не сохранил, благодарен за помощь, что-то мне тут совсем уж сложно, а еще редукс ожидает

Andrey
01.01.2017
19:07:59
ты либо все время пересоздаешь компонент или не меняешь props

Roman
01.01.2017
19:09:41
http://dpaste.de/gpKK

Andrey
01.01.2017
19:10:50
используй componentWillUpdate
у тебя не меняются props

Roman
01.01.2017
19:11:15
ну как не менются
у меня там по onclick меняется стейт в предыдущем компоненте и я его в пропс передаю вот этого компонента

Google

Roman
01.01.2017
19:11:54
или это считается что не меняется?

Andrey
01.01.2017
19:12:26

Roman
01.01.2017
19:12:43
в предыдущем же )) щас сек

Andrey
01.01.2017
19:12:48
или не понятно, про что пример)

Roman
01.01.2017
19:13:59
https://dpaste.de/GCK1
<ModalRegisterTerms show={this.state.showTerms} />
правильно использовать componentWillReceiveProps или componentWillUpdate внутри ModalRegisterTerms?

Anton
01.01.2017
20:07:45
С новым всех годом. Может кто подскажет, у меня есть редьюсер со списком объектов, аля:
posts: {
about-us: {
…somedata
},
testimonials: {
}
}
и отсюда я выбираю нужный мне в данный момент child и вывожу его в компоненте
show
но вместе с тем у меня есть компонент list, у которого на onscroll стоит подгрузка объектов в этот самый редьюсер и вывод краткой инфы о child’ах.
Все это время в компоненте show у меня идет видео, т.е. ререндерить компонент мне никак нельзя, но при новых объектах в редьюсере компонент show перерисовывается, и видео начинается сначала.
Как правильно сделать так, чтобы новые данные в show компонент подгружались только при определенном эвенте?
Крутить с forceUpdate? или есть лучший путь?
Не нашел такой инфы, хотя может просто плохо искал.


Sergey
01.01.2017
20:59:31
редукс не будет оновлять компонент, если менять данные в глубоком объекте, так как внешний остаеться прежним, а редукс смотреть только певерхностно.
Попробуй ложить свой данные на третий уровеь stor и тогда возможно редукс не обновить компонент

Adel
01.01.2017
21:00:00
https://github.com/raganwald/allong.es -> http://www.allong.es/
что-то случилось с лендосом..

Sergey
01.01.2017
21:02:54

Anton
01.01.2017
21:04:44
Ну у меня данные лежат в state.articles.list[article_name] и добавляются в лист
Но спасибо
Заытра подумаю над этим

Sergey
01.01.2017
21:05:42
еще вложинность сделай, и не обновляй поверхностные данные а только вложенные.
ты immuTable пользуешься?

Anton
01.01.2017
21:06:46
Неа. Добавляю используя object.assign

Sergey
01.01.2017
21:07:03
наоборот - не используй)

Anton
01.01.2017
21:07:40
А в чем вообще смысл этой либы?
Лень за комп идти

Adel
01.01.2017
21:08:11
смысл в том, что она при любых изменениях внутрянки возвращает новый объект

Google

Sergey
01.01.2017
21:08:15
object.assign возращает обновленный объект
точнее новый

Adel
01.01.2017
21:08:30
и редакс с реактом не обсераются тогда
и перерисовывают затронутые изменения

Anton
01.01.2017
21:09:12
Assign же тоже возвращает новый

Adel
01.01.2017
21:09:19
при этом можно в sCU прописать свои проверки и еще детальнее следить за обновлениями

Sergey
01.01.2017
21:10:01
просто не используй object.assign в том месте, где тебе нужно чтоб редукс компонент не перерендривал

Anton
01.01.2017
21:10:34
Мне нужно чтобы grid перерисосывался

Adel
01.01.2017
21:10:43

Anton
01.01.2017
21:10:43
А блок с выбранным элементом нет

Sergey
01.01.2017
21:10:56

Adel
01.01.2017
21:11:29
почему?
я правильно понимаю, что ты предлагаешь в стор класть иногда иммутабельно, а иногда мутируя?

Anton
01.01.2017
21:11:33
Просто у элемента нет точного названия. Он берет из роута state.list[routename] так бы парсил только это
Редакс же не дружит с мутациями
Он требует всегда новый обект

Sergey
01.01.2017
21:12:24

Adel
01.01.2017
21:12:33
вот
это плохая идея

Sergey
01.01.2017
21:12:46
есть лучше?

Adel
01.01.2017
21:12:57
хорошая идея положить в стор иммутабельно, а в компоненте определить sCU

Google

Sergey
01.01.2017
21:13:32
а чем плоха идея?
что такое sCU

Adel
01.01.2017
21:14:27
непредсказуемость, некосистентность подхода к управлению данными, серьезное отсутпление от редаксовского подхода
shouldComponentUpdate
lifecycle-метод реакта
там сравниваешь пропсы новые и старые и перерисоываешь по своей компонентской логике

Sergey
01.01.2017
21:15:23

Adel
01.01.2017
21:15:42

Anton
01.01.2017
21:16:09
Вот сейчас сделал 2 отдельных обьекта
(Твердого знака найти не могу)

Admin
ERROR: S client not available

Sergey
01.01.2017
21:16:25
я думаю, если коллега дошел до того как писать приложения на реакте, то он знает как все работает

Adel
01.01.2017
21:16:28

Anton
01.01.2017
21:16:34
Но думаю как прпвильно переписать

Sergey
01.01.2017
21:16:36
js

Adel
01.01.2017
21:16:49
а тут хренакс
и нет

Anton
01.01.2017
21:17:09

Sergey
01.01.2017
21:17:10
значит он основ js не знает

Google

Anton
01.01.2017
21:17:16
Ищу решение именно в компоненте

Sergey
01.01.2017
21:17:18
но реакт зато знает

yep
01.01.2017
21:23:10
Адель прав

Valery
01.01.2017
21:25:38
Module not found: Error: Cannot resolve 'file' or 'directory'

Adel
01.01.2017
21:26:23
npm install file --save

Valery
01.01.2017
21:26:23
Ребят, почему вебпак не хочет собирать бодключенные файлы если в import dfgfgfg from '../module.js' <- указано расшерение?
Module not found: Error: Cannot resolve 'file' or 'directory' ./routes/routes in C:\Users\drbr-ns\WebstormProjects\app\conf/..\app
ошибка подробнее

Adel
01.01.2017
21:28:17
тут у пацанов обратная ошибка, может поможет http://discuss.babeljs.io/t/es6-import-jsx-without-suffix/172

Valery
01.01.2017
21:30:19
Всех с новым годом!!!!!!!

Сергей
01.01.2017
22:09:12

Vadim
01.01.2017
23:09:41
Люди! У меня вопрос с точки зрения производительности. Задача: на странице есть набор компонентов с часами, тикающими раз в секунду, но показывающими каждый свое время. И так, где лучше поместить setInterval() в редакс-приложении? Вариант первый - в каждом из компонентов с часами разместить собственный setInterval, который будет обновлять стейт кломпонента. Вариант второй - создать единый setInterval для всего приложения, который раз в секунду обновляет стор. Плюс второго варианта в том, что в памяти вертится всего один window.intrerval. А минус в том, что при каждом его тике обновляется весь стор, и происходит куча неявного анализа состояний в компонентах, которым этого нафиг не надо (которые вообще никак не связаны с часами).
Какой вариант лучше?

Roman
01.01.2017
23:11:49
у меня вопрос какая переменная из webpack'a в реакт передается которая бы указывал в production mode или developers mode запущена апликация?

Klim
01.01.2017
23:12:54
process.env?
аа

Дмитрий
01.01.2017
23:13:39
Люди! У меня вопрос с точки зрения производительности. Задача: на странице есть набор компонентов с часами, тикающими раз в секунду, но показывающими каждый свое время. И так, где лучше поместить setInterval() в редакс-приложении? Вариант первый - в каждом из компонентов с часами разместить собственный setInterval, который будет обновлять стейт кломпонента. Вариант второй - создать единый setInterval для всего приложения, который раз в секунду обновляет стор. Плюс второго варианта в том, что в памяти вертится всего один window.intrerval. А минус в том, что при каждом его тике обновляется весь стор, и происходит куча неявного анализа состояний в компонентах, которым этого нафиг не надо (которые вообще никак не связаны с часами).
При обновлении данных в сторе обновляться должны только те компоненты, которые с ними связаны

Vadim
01.01.2017
23:15:35
Все-таки это дополнительные вычисления
И что хуже - обилие таких вычислений, или обилие одновременно запущенных таймеров?

Дмитрий
01.01.2017
23:16:23
При диспатче экшна какой-то редюсер иммутабельно обновляет свою часть стейта, меняет ссылку на данные, остальные редюсеры возвращают старые ссылки