
Сергей
19.01.2017
15:33:47
@iCoderXXI, а как вы потом работали с таким графом?
компилили его во что-нибудь, или же во время исполнения функция пробегала по нодам?

Oleg
19.01.2017
15:34:41
Если хочется начать использовать React, но при этом не увязнуть в болоте Babel, Webpack и прочего, то можно смело использовать всякие starter-проекты. Есть довольно простой мой, например https://github.com/olegafx/react-starter
нужно склонировать себе –> зайти в папку –> npm i –> npm start

Andrew
19.01.2017
15:36:48

Google

Oleg
19.01.2017
15:37:24
Есть вот такой проект для быстрого старта, но туда столько всего напихано, что фиг разберешь https://github.com/facebookincubator/create-react-app

Сергей
19.01.2017
15:40:17
@iCoderXXI +128 в карму тебе

Andrew
19.01.2017
15:40:24
я просто когда это писал в 13 году, сильно не хотел все эти формы, всю логику переходов и прочий ад вручную кодить, поэтому такой вот франкенштейн родился. на нем десяток проектиков точно запильнул и жизнь облегчало нормально
там на пыхе к нему еще прилагается админка со статистикой всякой

Сергей
19.01.2017
15:45:35
Неплохо
Очень даже
я вот хочу написать подобное Unreal Blueprints
тоже упростить жизнь

Timur
19.01.2017
15:53:04
admin(.*)
что означает данная регулярка?

Сергей
19.01.2017
15:53:41
admin и всё что после него следует
если нет маркеров конца и начала, то буквально, чтобы в тексте был admin с чем-то после него

Timur
19.01.2017
15:57:13

Adel
19.01.2017
15:58:34

Google

Quet
19.01.2017
16:36:15

Timur
19.01.2017
16:44:01
)

Andrew
19.01.2017
16:57:32

Adel
19.01.2017
16:59:30
еще бы, регулярки и поиск по проекту - единственный нормальный способ ориентироваться в огромных джс-проектах, особенно в бизнес-легаси

Andrew
19.01.2017
17:01:00

? ethorz
19.01.2017
18:38:22
ребят, как можно обновить массив?

Кисик
19.01.2017
18:39:05
Что?

? ethorz
19.01.2017
18:39:57
нужно обновить старые значения массива на новые

Vladimir
19.01.2017
18:41:51

Сергей
19.01.2017
18:42:05

? ethorz
19.01.2017
18:43:22
.map ?
а если внутри уникальный айди, по которому я обращаюсь?

Сергей
19.01.2017
18:43:35
и что?
проходишь с помощью .map каждый объект, обновляешь и возвращаешь новый массив
ex.: const newValues = oldValues.map(val => ({ ...val, value: newValue }))

? ethorz
19.01.2017
18:51:26
спасибо

Vladimir
19.01.2017
19:55:00
Как вы думаете, нужен ли нуль перед точкой в css (0.5em vs .5em)? https://github.com/stylelint/stylelint-config-standard/issues/59

Vladimir
19.01.2017
19:57:51

Bogdan
19.01.2017
19:59:47
фронтендщики вообще дизайном занимаются?

Andrew
19.01.2017
20:00:35
универсалы фуллстэки порой и этим не брезгуют

Google

Andrew
19.01.2017
20:00:54
хотя профильный диз конечно на 2 головы лучше сделает имхо

Dreamerinnoise
19.01.2017
20:01:08
Козулю вспомните

Vladimir
19.01.2017
20:05:03

Sasha
19.01.2017
20:06:27
Кстати, у меня вот такой вопрос, если искать в команду человека, который пишет на реакте... Все ли фронтенд разработчики умеют верстать? Это как бы опционально?
Это ни в коем случае не хантинг^^

Vladimir
19.01.2017
20:06:58
джавскрипт разрабы не все


Dmitrii
19.01.2017
20:11:03
есть примерно такой webpack конфиг:
entry: {
main: './index.js',
vendor: [
'axios',
'immutable',
'react',
'react-dom',
'redux-form',
'react-redux',
'react-router',
'redux',
'redux-thunk',
'store'
]
},
…..
new webpack.optimize.CommonsChunkPlugin({
names: ['vendor']
}),
весь апп делится на main и vendor, общий код идет в vendor с такими бандлами в dev env:
main.js 1.61 MB 2 [emitted] main
vendor.js 6.18 MB 0 [emitted] vendor
на двух роутах понадобилось подключить крупную либу, react-rte
после подключения размер main увеличивается на 2.3mb
я решил вынести ее в отдельный чанк, и загружаю только на тех двух роутах через require.ensure
в итоге сборка изменилась так:
main.js 1.61 MB 2 [emitted] main
1.text-editor.js 2.33 MB 1 [emitted] text-editor
vendor.js 6.18 MB 0 [emitted] vendor
что уже хорошо и либа загружается лениво, только на двух роутах
но посмотрев внутрь бандла, я увидел, что immutable лежит как в vendor, так и в 1.text-editor и не вырезается оттуда через common chunk
подскажите, есть ли возможность выпилить immutable как нибудь из text-editor бандла ?


Vladimir
19.01.2017
20:16:23
есть примерно такой webpack конфиг:
entry: {
main: './index.js',
vendor: [
'axios',
'immutable',
'react',
'react-dom',
'redux-form',
'react-redux',
'react-router',
'redux',
'redux-thunk',
'store'
]
},
…..
new webpack.optimize.CommonsChunkPlugin({
names: ['vendor']
}),
весь апп делится на main и vendor, общий код идет в vendor с такими бандлами в dev env:
main.js 1.61 MB 2 [emitted] main
vendor.js 6.18 MB 0 [emitted] vendor
на двух роутах понадобилось подключить крупную либу, react-rte
после подключения размер main увеличивается на 2.3mb
я решил вынести ее в отдельный чанк, и загружаю только на тех двух роутах через require.ensure
в итоге сборка изменилась так:
main.js 1.61 MB 2 [emitted] main
1.text-editor.js 2.33 MB 1 [emitted] text-editor
vendor.js 6.18 MB 0 [emitted] vendor
что уже хорошо и либа загружается лениво, только на двух роутах
но посмотрев внутрь бандла, я увидел, что immutable лежит как в vendor, так и в 1.text-editor и не вырезается оттуда через common chunk
подскажите, есть ли возможность выпилить immutable как нибудь из text-editor бандла ?
Как на счет такого варианта? https://github.com/kriasoft/react-starter-kit/blob/6bc41c93124afa3336c7a55f5f57dab6a566b956/tools/webpack.config.js#L250-L255


Vladimir
19.01.2017
20:17:23

Vladimir
19.01.2017
20:18:26
положить все модули которые импортируются из node_modules в отдельный чанк vendor.js

Dmitrii
19.01.2017
20:18:53

Vladimir
19.01.2017
20:20:01
может у тебя там две разные версии immutable?

Dmitrii
19.01.2017
20:20:09

Vladimir
19.01.2017
20:23:34
а, ну так вебпак то откуда узнает что это один и тот же immutable

Dmitrii
19.01.2017
20:24:26

Vladimir
19.01.2017
20:25:07
вроде был раздел в конфиге про резолв модулей, можно попробовать переопределить путь

Vladimir
19.01.2017
20:36:10

Dmitrii
19.01.2017
20:37:29
похоже что это не поправить, там в package.json в секции main: dist/react-rte.js а этот файл уже собран вебпаком и в нем зашит imutable

Vladimir
19.01.2017
20:37:59
пам-пам

Google

Vladimir
19.01.2017
20:38:06
грустный трамбон

Dmitrii
19.01.2017
20:43:08
прийдется на draft-js переходить

Nikita
19.01.2017
20:59:47

Dmitrii
19.01.2017
21:00:08

Nikita
19.01.2017
21:00:17
вот вспоминаю)
https://github.com/ianstormtaylor/slate

Admin
ERROR: S client not available

Nikita
19.01.2017
21:02:58
там список есть аналогов. я прям советую посмотреть на что угодно, кроме draft-js)
его как-то минимально поддерживают, issue/pr висят, не закрывают

Dmitrii
19.01.2017
21:05:33
спасибо гляну

Sergey
20.01.2017
04:15:43
Draftjs вообще не понравился, слишком нагородили.

Danil
20.01.2017
05:17:10
А юзать джквери для работы с домом внутри реакт компонента это нормально?

Aleksey
20.01.2017
05:19:36
в целом, ненормально. но, бывает, что правильно реализовывать уже готовый функционал долго или лень. но очень аккуратно чтобы не сломать тот дом к которому реакт привязан

Danil
20.01.2017
05:20:20
Там просто расчёт положения элемента на странице через оффсеты

Aleksey
20.01.2017
05:21:25
и стоит для этого жкеври тянуть?
в пассивном режиме - можно без опаски пользовать, так-то

Danil
20.01.2017
05:22:06
Джквери уже итак тянется в проект и отказ от него вряд ли будет

Aleksey
20.01.2017
05:24:09
с таким подходом-то, конечно, вряд-ли )
хотя бы в новом функционале его не пользуй. а там, может, и в старом подберется со временем

Danil
20.01.2017
05:25:19
Проект сейчас на пыхе, бэкбоне с джквери, у меня задача начать переписывать на реакт
Я вот и не знаю стоит ли джквери трогать

Google

Aleksey
20.01.2017
05:27:31
вообще, координаты элемента - getBoundingClientRect
ну, еще может понадобиться window.scrollX/scrollY если тебе нужны абсолютные значения. нафига там жквери

Nikita
20.01.2017
05:27:33
а как же "работает не трагай !"

Aleksey
20.01.2017
05:28:17
но вот в реакте стараются таким не баловаться. я не знаю юзкейс но обычно в такие вещи лазить не приходится

Danil
20.01.2017
05:28:28
Мне нужен оффсетТоп, оффсетЛефт и иннерхэйт

Aleksey
20.01.2017
05:28:46
а зачем?

Danil
20.01.2017
05:29:10
Позицию попапа вычислять

Aleksey
20.01.2017
05:29:43
хмм. опять же, не в курсе юзкейса, но тако решается через position: absolute
раз у тебя попап привязан к элементу (видимо, речь про поповер) - помещаешь их в один контейнер и через css спокойно выставляешь что где

Danil
20.01.2017
05:31:58
Все разобрался, там механизм попапов через джс от артемия Лебедева работал)) я этот механизм выпилил и ничего считать не пришлось

Aleksey
20.01.2017
05:33:45
Js от Темы™® )) надо же )

Danil
20.01.2017
05:37:09
Там этого джс файлов 20 было
Я выпиливал выпиливал, осталось 11

a
20.01.2017
05:39:31
вот интересно, что думает народ об этой новой фиче?
https://github.com/facebook/react/blob/d28ac9eea0cad6be949cc9d3f973cf548e89bf97/src/renderers/dom/fiber/__tests__/ReactDOMFiber-test.js#L259

Danil
20.01.2017
05:51:01
А стэйты от детей к родителям не получится передать?

Сергей
20.01.2017
06:02:17
Коллбеками

a
20.01.2017
06:27:21

Danil
20.01.2017
06:28:59
Я спросил можно ли это вообще сделать или нет