
Denis
24.08.2017
20:58:47
бета бете рознь

Miha
24.08.2017
20:59:09
я подожду 5, а там посмотрю переходить ли на 4 роутер
5 редакс роутер

Denis
24.08.2017
20:59:33
бля забыл что реакт уже не в бете

Google

Denis
24.08.2017
20:59:38
ща запинают

Nikita
24.08.2017
21:00:10
Ну там ломаться нечему ,если что можно посмотреть в исходники ,они не длинные
Все там на обычных middleware ,самому хоть пиши

Andrey
24.08.2017
21:01:28

Denis
24.08.2017
21:03:03
не суть, он в 0.x ветке уже активно юзался

Oleg ?
24.08.2017
21:52:44
Есть кто TDD использует?
Может есть хорошие статьи, как правильно писать тесты для реакт компонентов
И возможно даже для контейнеров

kana
24.08.2017
21:53:56
Теперь да, один бэкендик
Ответил через две недели

Oleg ?
24.08.2017
21:55:18
Блиин, пятница же наступила
ппц время летит

Nikolay
24.08.2017
22:03:25
бля

Google

Nikolay
24.08.2017
22:03:29
нахера ты это написал
у меня дедлайн в пятницу

Oleg ?
24.08.2017
22:05:04
:C
Я на оборот спасаю тебя!
Напоминаю

Denis
24.08.2017
23:43:23
https://github.com/ReactVT/react-vt
Absolutely haram
https://github.com/Bloomca/redux-tiles
Ема ноду опять форкнули

Сергей
25.08.2017
00:18:16

Denis
25.08.2017
00:19:34
ayojs/ayo: It's pronounced like "IO"
https://github.com/ayojs/ayo
It's pronounced like IO ))

John
25.08.2017
00:59:22
Вообще всё
Для обучения, показать азы пойдет как нельзя лучше. Ты меряй не со своего уровня, а с уровня чугун-джуниора. Всему свое время.

Дмитрий
25.08.2017
01:00:57

Алексей
25.08.2017
03:29:11

code4aman
25.08.2017
05:04:21


Oleg
25.08.2017
05:21:51
ребят, подскажите пожалуйста по оптимизации рендеринга.
Использую react-scrollbar для плавного скролла страницы. У него есть событие onScroll у которого можно получить текущее значение позиции скролла. Нужно это значение передать компонентам для того, чтобы отрисовывать плавное движение элементов на странице через react-motion (в зависимости от положения скролла).
юзаю вот так:
<ScrollArea speed={3} className="scrollable" smoothScrolling={true} horizontal={false} onScroll={this.handleScroll}>
<Switch>
<Route exact path='/' render={(props) => (
<Home scrollY={scrollY} />
)}/>
<Route path='/about' render={(props) => (
<About scrollY={scrollY} />
)}/>
</Switch>
</ScrollArea>
то есть, я отслеживаю событие скролла, меняю state у root компонента, затем считываю этот state - пишу в props и юзаю в дочерних компонентах.
собственно, проблема: запись стейта запускает рендеринг всего - потому что стейт пишется к руту. А он пишется при каждом событии скролла страницы. Можно ли как-то пробрасывать props потомкам без стейта? Например брать пропс у этого же ScrollArea и передавать дальше?


Andrey
25.08.2017
05:28:19
Храни там.

Google

Oleg
25.08.2017
05:29:26
понял, буду изучать редакс :) спасиб

Дмитрий
25.08.2017
05:37:34
извините, промахнулся

? ethorz
25.08.2017
06:13:56
Есть 2 массива с объектами, нужно пройтись по ним и понять, что добавилось в 1ый массив, а что удалилось, и эти изменения как-то сохранить, при удалении можно хранить айди, при добавлении весь объект, потом есть результирующий массив, там эти данный отформатированные, нужно в ней так же удалить, если удалилось и добавить, если добавилось, как лучше сделать?

Denis
25.08.2017
06:32:05
данные могут повторяться ?

Алексей
25.08.2017
06:32:16
Через фасад который оборачивает доступ к массивам, синхронизирует их и пишет лог, например.

Denis
25.08.2017
06:34:35
в общем случае, использовать Set и difference, intersection


? ethorz
25.08.2017
06:36:59
https://jsfiddle.net/h3ag4a1s/

Oleg
25.08.2017
06:37:20

? ethorz
25.08.2017
06:37:43
добавление в массив всегда будет с конца
всегда будет приходить по аргументам 1 итем
т.е. сразу несколько элементов не будет

Artyom
25.08.2017
06:46:31
Есть 2 массива с объектами, нужно пройтись по ним и понять, что добавилось в 1ый массив, а что удалилось, и эти изменения как-то сохранить, при удалении можно хранить айди, при добавлении весь объект, потом есть результирующий массив, там эти данный отформатированные, нужно в ней так же удалить, если удалилось и добавить, если добавилось, как лучше сделать?
https://codepen.io/artalar/pen/GvBwgd?editors=0010
Подправил проверки на меньшее и больше. Чет туплю с утра

? ethorz
25.08.2017
06:55:01
спасибо, уже не надо

Admin
ERROR: S client not available

? ethorz
25.08.2017
06:55:09
https://jsfiddle.net/h3ag4a1s/3/

Artyom
25.08.2017
06:59:18
Используй строгое сравнение. Да и some семантически больше подходит, чем find

Bogdan
25.08.2017
07:23:16

Sergey
25.08.2017
07:29:56

Google

Max
25.08.2017
07:30:33
я думал это подогреватель

Oleg
25.08.2017
07:30:43

Oleg ?
25.08.2017
08:03:50
Как раз зимой собираюсь поехать кататься

Sergey
25.08.2017
08:04:31
там же на сайте все показанно
я не юзал

Oleg ?
25.08.2017
08:04:54
Класс, интересно если сейчас закажу, то успеют ли прийти до НГ?

Oleg
25.08.2017
08:06:55
Не сильно мешают в ботах?

Oleg
25.08.2017
08:07:28

Oleg
25.08.2017
08:08:06
Хмм, интересно, а то я думал о такой штуке на сноуборд
http://www.traceup.com
стоп, а карв только для лыж, получается?

Rick
25.08.2017
08:20:41
))
Чем тебе вуй не угодил?

Max
25.08.2017
08:24:24
Марк @javascript_jobs

Mark
25.08.2017
08:24:34
Я уже как раз туда заскачил)

Ilya
25.08.2017
08:33:05
кто как тестирует реакт компоненты?) надо, например, получить dom элемент, определенную кнопку. Пока из вариантов прокидывать к каждой кнопке атрибут типа data-name, который будет отображать суть ее бизнес логики (например, addTask), по нему ее находить в DOM и тестировать сценарий. Может есть более удобное решение, которые не заставит переписывать исходный код?

Max
25.08.2017
08:33:27
энзим?

John
25.08.2017
08:36:15
Мужики, подскажите, плиз, всю голову сломал.
Согласно этой ссылке (http://redux-form.com/7.0.3/docs/faq/HandleVsOn.md/), я не должен делать event.preventDefault(), но у меня все равно форма сабмитится стандартным способом. Событие, вроде, успевает сработать, но после этого форма сабмитится и страница перезагружается. Вопросов нет, я могу воткнуть preventDefault и проблема уйдет, но хочется разобраться, а не залипуху лепить.
Кусок кода с формой:
<form onSubmit={ values => props.handleSearchSubmit( values ) }>
...
<button className="section-item type-button" type="submit"></button>
</form>
Связываю таким образом:
const mapStateToProps = function( store )
{
return (
{
...store.analyticsCabinet,
handleSearchSubmit: ( data ) => store.dispatch( doSearch( data ) )
} );
};
AnalyticsCabinet = connect( mapStateToProps )( AnalyticsCabinet );
AnalyticsCabinet = reduxForm( { form: "myform" } )( AnalyticsCabinet );
export default AnalyticsCabinet;


Ilya
25.08.2017
08:39:12
энзим?
а он получается будет завязан на названия классов и архитектуру? уточню, тесты нужны для тестировщиков, selenium тесты

Google

Max
25.08.2017
08:39:25
А, е2е