
Егор
11.09.2017
12:44:31
А в контейнере прокидывать - на странице может и 10 попапов быть) Ну нафига, например, в Sidebar отправлять попап редактирования фильтров, которые в нем находятся.. Слишком много кода получается. Если для каждого ui элемента отдельный пропс создавать.
И слишком много пространства для багов, и читать сложно - в общем, 100% говнокод..

Сергей
11.09.2017
12:45:29

Егор
11.09.2017
12:45:34
Получается диллема - либо говнокод, либо перерисовка лишняя при изменении любых ui элементов на странице

Google

Егор
11.09.2017
12:45:56
Вот думаю, как connect лучше использовать, что бы найти решение.

Алексей
11.09.2017
12:46:16

Егор
11.09.2017
12:46:55
Сейчас gist создам)
Хотя, не знаю как лучше создать. Но, пример. Есть два папапа. В компоненте Header и в компоненте Sidebar.
В оба компонента можно послать props.ui, который содержит весь стейт визуальных компонентов. В том числе, и попапы.
Далее, в Header пользователь нажимает кнопку открытия попапа. state.ui изменяется => props.ui тоже изменяется.
А значит, перерендеривается Sidebar. Хотя, в этом нет никакой необходимости.
Как разрешить задачу так, что бы Sidebar, при открытии попапа в Header, не перерендеривался?

Алексей
11.09.2017
12:53:15
делать попап statefull?

Николай
11.09.2017
12:53:25
@alexandertorn опиши понятнее, что есть и как должно быть

Stepan
11.09.2017
12:53:43
> props.ui, который содержит весь стейт визуальных компонентов
Чёт хуйня какая-то

Алексей
11.09.2017
12:53:54

Bogdan
11.09.2017
12:53:54
сделать в сторе для каждого компонента свое свойство с попапом

Alexander
11.09.2017
12:54:00
@kolkahackfaq Господа, непременно опишу как доберусь до рабочей машины

Егор
11.09.2017
12:54:42

Алексей
11.09.2017
12:55:35

Google

Егор
11.09.2017
12:56:23

Bogdan
11.09.2017
12:56:54

Алексей
11.09.2017
12:57:31

Егор
11.09.2017
12:57:35

Bogdan
11.09.2017
12:58:13
зачем с корня? к стору подключать

Sergey
11.09.2017
12:58:44
Привет. Делал кто нибудь на реакте хелпер для юзера, который затемняет все, появляеться окошко указывающие на кнопку допустим, в котором описанно что она делает?

Егор
11.09.2017
12:58:52
Вот я и спрашиваю, где лучше connect использовать, в каких компонентах, кроме корня? Какие есть хорошие практики?

Bogdan
11.09.2017
13:00:23

Егор
11.09.2017
13:00:58

Человек
11.09.2017
13:03:05
Подскажите что про алгоритмы почитать можно (сортировки,числа Фибоначчи и все все все)??
Желательно на JS

Егор
11.09.2017
13:03:15
Я кажется нашел ответ. С попапом, буду использовать statefull компонент. Но, на этом примере - для компонента, который использует попап, делать connect, что бы добавить пропс этого попапа.

Ivan
11.09.2017
13:03:21
А какие гриды кто использовал вместе с styled-components? http://jxnblk.com/rebass/ или http://jxnblk.com/grid-styled/ ?

Bogdan
11.09.2017
13:03:27
ну скажем есть на странице секция, в которой может быть попап. С ней в сторе связано свое поле.

Егор
11.09.2017
13:03:50
О, тоже хорошая идея. Спасибо.
Думаю, ответ находится как компромисс двух решений) Все же делать стор повторяющим структуру дерева компонентов - не очень хорошая идея. Но если не уходить в крайности - то норм. А в случаях, когда удобнее использовать connect - использовать его.
Блин, все же несмотря на всю ох**нность Redux + React, порог входы высокий, что бы нормально разрабатывать приложения) Подводных камней тонны.

Ҫѐҏӗѫӑ
11.09.2017
13:11:24
https://github.com/webpack/webpack/pull/5660
всем вебпак 4 пацаны

Roman
11.09.2017
13:11:38
куда уже 4?

Сергей
11.09.2017
13:11:48

Ҫѐҏӗѫӑ
11.09.2017
13:12:03
да. это жесть

Roman
11.09.2017
13:12:10
горшочек раздухарился )

Google

illiatshurotshka❄️
11.09.2017
13:12:21
все еще страшные конфиг файлы?

Max
11.09.2017
13:12:39
угу

Nikita
11.09.2017
13:12:50
Были бы как галпа...

Сергей
11.09.2017
13:13:04

Nikita
11.09.2017
13:13:13
Чо так

Сергей
11.09.2017
13:13:16
Простой обжект

Nikita
11.09.2017
13:13:36
После галпа - все)

Сергей
11.09.2017
13:13:43
Да ну
У галпа не конфиги

Nikita
11.09.2017
13:14:10
Ну это на мой взгляд)

kana
11.09.2017
13:14:22
Лол, конфиг вебпака же примитивный если ХОТЬ РАЗ прочесть доку

kana
11.09.2017
13:14:49
Даже не доку, а быстрый овервью на их сайте, забыл как называется

Nikita
11.09.2017
13:15:10
Наверное, так и надо сделать

kana
11.09.2017
13:15:50
concepts

Сергей
11.09.2017
13:16:23
Ну очень все просто
Я не понимаю как можно считать вебпак сложным
Особенно когда есть такая дока

Stepan
11.09.2017
13:17:25
Ну у меня было такое ощущение до первого внимательного прочтения

Google

kana
11.09.2017
13:17:26
Да не, понять-то это можно, лень называется
Дока все очень хорошо объясняет

Дмитрий
11.09.2017
13:17:44
Во времена первого конешн хардкорно было))

Сергей
11.09.2017
13:21:21

Егор
11.09.2017
13:46:40
Я кажется нашел ответ. С попапом, буду использовать statefull компонент. Но, на этом примере - для компонента, который использует попап, делать connect, что бы добавить пропс этого попапа.
В общем, вот к такому пришел. В родительском компоненте использую connect
export default connect((state, ownProps) => ({
filterAffiliatesPopup: getPopup(state, 'filterAffiliates')
}))(CompanyFilter)
В самом попапе, для диспатча событий
const mapDispatchToProps = {
open: (id) => open(id),
close: (id) => close(id)
}
export default connect({}, mapDispatchToProps)(Popup)

Admin
ERROR: S client not available

Егор
11.09.2017
13:47:30
Уже нравится решение, но верю, что может быть лучше) Кто поделится - буду благодарен
Насчет statefull компонент. Для тестирования лучшего решил все же не использовать его. Что бы баги было проще искать в будущем.

Andrew
11.09.2017
14:03:27
посоветуйте туториал по SPA на реакте

Winni
11.09.2017
14:04:20
Приделываешь реакт роутер и вот тебе спа

Сергей
11.09.2017
14:04:22

Sergey
11.09.2017
14:25:20

Grigory
11.09.2017
14:39:58
Парни вопрос по организации монорепы. Есть необходимость использовать локальные пакеты /packages/foo-package -> import fooPackage from 'foo-package'. Что привело к lerna но есть проблема что все связываемые модули должны быть пакетами lerna. А нужно чтобы структура была такой:
/project
/src
/index.js /* import fooPackage from 'foo-package' */
/packages
/foo-package
плюс установка зависимостей пакетов.
Какие варианты есть это организовать?

Дмитрий
11.09.2017
14:41:46
Емнип, никаких
Все пакеты равноправны

Grigory
11.09.2017
14:42:32
Yarn workspaces?

Дмитрий
11.09.2017
14:45:55
Он так же работает

Grigory
11.09.2017
14:52:13
Есть всякие извращенные варианты типо npm link и npm local modules но что-то это мрак

Oleg
11.09.2017
14:54:45
в монорепе чтобы IDE не тормозило отключаете индексацию node_modules?

Дмитрий
11.09.2017
14:55:41
Не в монорепе, внезапно, тоже

Google

Grigory
11.09.2017
14:56:34
Всегда отключаю если даже не монорепо

Nikita
11.09.2017
15:35:50
как сказать вебпаку, чтобы он файлы в продкшен в определённые папки ложил?
например, чтобы jpg были в папке img в проде

Николай
11.09.2017
15:37:40
test: /\.(jpg|png)$/,
use:
[{
loader: 'file-loader?name=img/[name].[ext]'
}]

Mike
11.09.2017
15:38:40
опшнс!
а по делу — CopyWebpackPlugin + process.env.NODE_ENV

Nikita
11.09.2017
15:41:01
ок

Игорь
11.09.2017
16:40:37
Кто-нибудь сталкивался с такой хуйней: в общем нужно сделать интерфейс к админке, типа приложения где можно будет пересобирать верстку сайта, позицию блоков и т.д драг энд дропом. Редактировать содержимое тегов. Может кто встречал в сети похожие проекты, хотелось бы глянуть. А то пока не очень представляю себе как сделать это

Nikita
11.09.2017
16:41:03
ucoz.com

Andrey
11.09.2017
16:43:29
?

Andrey
11.09.2017
16:43:30

ed
11.09.2017
16:56:00

Игорь
11.09.2017
16:57:01
Ага спасибо, гляну. Просто хотел код глянуть. Чтоб не нагородить хуеты

Samat
11.09.2017
17:03:17
Приветствую! А кто-нибудь делал на реакте компонент для подписи пальцем?
Гугл выдаёт мало интересного, многое есть на js, но как адаптировать к реакту и чтобы работало с нужными пропсами - пока не понимаю. Может есть у кого опыт?

kana
11.09.2017
17:06:26
что именно не понимаешь в адаптации? На маунте компонента в реф вызываешь функцию, которая туда возможность подписи добавляет, настраиваешь компонент по пропсам. По изменению пропсов снова прокидывешь новый конфиг. По анмаунту по идее можно ничего не делать