
Дмитрий
23.05.2018
13:32:37
Раз раз раз ето ребас

Kendr
23.05.2018
13:37:06
Загугли "ето ребасс"
На чистую воду!

Google

Дмитрий
23.05.2018
13:37:37
Кек
Вычо за мной записываете уже? ?

Mike
23.05.2018
13:40:45
парни, вопрос
есть страничка с верхним меню, которое просто роуты переключает. в хроме все збс, в фаерфоксе переключение дико лагает
посмотрел в профайлер, там вот такое добро
ивент — клик в меню
и чет огромный промежуток от ивента до gc, в который вроде никаких действий не выполняется
причем такая херня только в фф, и не ясно вообще, что лаг вызывает
как такое вообще дебажить?

Dimanius851
23.05.2018
13:47:04
Functions are not valid as a React child
что я делаю не так?
const EnhancedForm = ({
data
}) => (
withFormik({
mapPropsToValues: () => ({
...data
}),
handleSubmit: (values, { setSubmitting }) => {
console.log('submit', values)
}
})(Form)
)
<EnhancedForm
data={changingData} />

Alexey
23.05.2018
13:59:49
Сейчас не модно что ли писать
onClick={this.props.onClick}
а модно так. Что-то я пропустил?
onClick={() => this.props.onClick()}
https://cdb.reacttraining.com/react-inline-functions-and-performance-bdff784f5578

Roman
23.05.2018
14:00:23

Google

Alexander
23.05.2018
14:01:17
насколько я понял из сегодняшнего курса по реакту, дело не в моде. his.props.onClick() используется когда надо присунуть параметры и не хочется это делать через .bind()

Alexey
23.05.2018
14:01:42
но вот в статейки пишут что устарело

Alexander
23.05.2018
14:02:13
https://www.youtube.com/watch?v=pgAvVxowaYU
этот чертяка дотошно разбирает все аспекты

Ruslan
23.05.2018
14:02:30
react-dropzone кто-нибудь использует? Они там что-то накосячили с дефолтным экспортом и начиная с какой-то версии импорт не работает, приходится использовать компонент в виде <Dropzone.default />

Alexander
23.05.2018
14:02:32
но конкретно этот я не помню. возможно уже в платной части разбирал

Ruslan
23.05.2018
14:03:16
Но это ладно бы, но в production сборке и это не работает ?

Roman
23.05.2018
14:04:06
лол

Alexey
23.05.2018
14:07:08
Устарело писать так.
onClick={this.props.onClick}
Может я конечно не вкурил.
И он разбирает другой кейс. (проброс пропса сверху)

Mikhail
23.05.2018
14:08:45

aspirin
23.05.2018
14:10:00
https://t.me/javascript_jobs

Maksim
23.05.2018
14:10:37

Paruyr
23.05.2018
14:11:48
Ребят, подскажите, плез, по мобиксу, чет тупак словил
class State {
@observable a = 1;
@observable b;
constructor() {
reaction(() => this.a, a => this.b = a)
}
}
при цикле GC reaction помрет, если объект больше нигде не юзается?

Kendr
23.05.2018
14:13:19

Sergey
23.05.2018
14:33:00

Andrey
23.05.2018
14:42:01

Sergey
23.05.2018
14:45:34

Vitaliy
23.05.2018
14:46:04

Google

from
23.05.2018
14:46:57


Сергей
23.05.2018
14:47:16
Сейчас не модно что ли писать
onClick={this.props.onClick}
а модно так. Что-то я пропустил?
onClick={() => this.props.onClick()}
https://cdb.reacttraining.com/react-inline-functions-and-performance-bdff784f5578
пара советов есть на эту тему
но все они сводятся к контексту использоания
() => this.handleClick() юзается если ты описал хендлер как метод, а не как проперти
ещё юзается, когда порядок аргументов не устраивает.
например есть некоторые библиотеки которые в onClick бросают value, props, event
и тебе хочется поменять порядок onClick={(value, props, event) => props.someClick(event, value)}
но всё это полностью убивает PureComponent, так как на каждый рендер будет новая функция. И не дай бог ты в замыкании хендлера прокинул какие-то важные данные, например список. А в sCU компонента этот пропс с функцией не проверяешь, то будут ОЧЕНЬ странные эффекты.
кейс
onClick={props.handlerClick} лучше использовать в большинстве возможных случаев, он легко проверяется в Pure и sCU. Не городит новых функций. Но в нем сложнее отследить пробрасываемые параметры.
У себя в проекте я решил, что в хендлерах всегда должен пробрасывать первым аргументом event


from
23.05.2018
14:47:37

Сергей
23.05.2018
14:47:39

from
23.05.2018
14:49:42
ну и принято это самое this называть "контекстом", как по мне так вроде нормально это

Vitaliy
23.05.2018
14:49:51

Sergey
23.05.2018
14:49:55
Ну так лишние замыкание создвется ? или нет?

from
23.05.2018
14:50:10

Сергей
23.05.2018
14:51:28
(a) => a — нет замыкания
(a) => a + b — есть замыкание

from
23.05.2018
14:53:00
Ну так лишние замыкание создвется ? или нет?
вопрос в том, что ты теряешь
Когда мы пишем <SomeComponent className="container" /> то о нет, на каждый рендер создаётся строка "container"
Можно тоже сохранить в переменную и обращаться для экономии...нулевой экономии)

Sergey
23.05.2018
14:53:29
onClick={()=> this... this получается за пределом
непонятно...

Andrew
23.05.2018
14:54:40

from
23.05.2018
14:55:00
люди-то переживают обычно, что новая функция создаётся

Admin
ERROR: S client not available

Сергей
23.05.2018
14:55:24

Don
23.05.2018
14:56:22
здраствуйте,кто может написать простенький лоадер? тз в личку скину

Google

Сергей
23.05.2018
14:56:45

Дмитрий
23.05.2018
14:56:46
Корректно описанные компоненты не должны обновляться от () => fn() в onClick

Yuriy
23.05.2018
14:57:12

Дмитрий
23.05.2018
14:57:47
Потому что onClick рано или поздно попадает в стандартные react-dom компоненты, а им вообще до лампочки что там с функцией

from
23.05.2018
14:58:38

Сергей
23.05.2018
14:59:40

Дмитрий
23.05.2018
15:00:01
Что значит всё? Я про это и пишу
<input /> по барабану на обновления функции
В этом и суть
Только юзерские компоненты могут триггериться от новой функции в пропсах

Сергей
23.05.2018
15:00:51
у меня был такой компонент, описывает массив значений, с возможностью поменить один как дефолтный
можно добавлять ещё значений
и удалять
всё в большой форме
и если не добавлять проверок, то начинаются дикие лаги


from
23.05.2018
15:04:09
ну это не всегда
если компонент сложный
и вообще не комильфо на каждый тык в инпут перерендеривать все
поэтому появляется sCU и в этом sCU не проверяется хэндлер
> и вообще не комильфо на каждый тык в инпут перерендеривать все
Ну спорно, реакт появился, проталкивая мысль что как раз ничего страшного (если под словом "ререндер" мы подразумеваем вызов методов рендер, а не реальный ререндер DOM'а)
Это не значит, что SCU не нужен вообще, это значит, что он нужен только там, где он действительно нужен)
И надо помнить, что вполне реален случай, когда проверки в sCU могут быть даже медленнее.
И так же просто надо иметь в виду, что если эти проверки чаще возвращают false, чем true, то это тоже потенциальный источник падения производительности


Сергей
23.05.2018
15:05:49
> и вообще не комильфо на каждый тык в инпут перерендеривать все
Ну спорно, реакт появился, проталкивая мысль что как раз ничего страшного (если под словом "ререндер" мы подразумеваем вызов методов рендер, а не реальный ререндер DOM'а)
Это не значит, что SCU не нужен вообще, это значит, что он нужен только там, где он действительно нужен)
И надо помнить, что вполне реален случай, когда проверки в sCU могут быть даже медленнее.
И так же просто надо иметь в виду, что если эти проверки чаще возвращают false, чем true, то это тоже потенциальный источник падения производительности
я с тобой не хочу спорить, ты прав.
я вообще редко описываю pure и sCU (shouldComponentUpdate)
> и вообще не комильфо на каждый тык в инпут перерендеривать все
Ну спорно, реакт появился, проталкивая мысль что как раз ничего страшного (если под словом "ререндер" мы подразумеваем вызов методов рендер, а не реальный ререндер DOM'а)
Это не значит, что SCU не нужен вообще, это значит, что он нужен только там, где он действительно нужен)
И надо помнить, что вполне реален случай, когда проверки в sCU могут быть даже медленнее.
И так же просто надо иметь в виду, что если эти проверки чаще возвращают false, чем true, то это тоже потенциальный источник падения производительности
в конкретно том компоненте, пришлось добавить в контейнер и в строчку для проверки именно значений
иначе было проблемно


from
23.05.2018
15:09:08
ну в таких случаях PureComponent to the rescue конечно :)
по идее такие лаги обычно могут всякие анимации порождать, которые в цикле реактовских обновлений работают

Google

Сергей
23.05.2018
15:10:11

Max
23.05.2018
15:11:40

Сергей
23.05.2018
15:11:56
кто идет на митап?
ребзи, все прям ко времени туда придут?