@react_js

Страница 4005 из 5115
Дмитрий
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

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} Может я конечно не вкурил.

И он разбирает другой кейс. (проброс пропса сверху)

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 помрет, если объект больше нигде не юзается?

Sergey
23.05.2018
14:45:34
Сейчас не модно что ли писать onClick={this.props.onClick} а модно так. Что-то я пропустил? onClick={() => this.props.onClick()} https://cdb.reacttraining.com/react-inline-functions-and-performance-bdff784f5578
При каждом рендере создает новый контекст для функции и это плохая практика. Но это не точно, может ктото уточнить?

Vitaliy
23.05.2018
14:46:04
Всем привет. Как для img в .tsx использовать file-loader а для .css url-loader?
Вроде и не мертвый чат. А на вопросы мои никогда никто не отвечал)

Google
Сергей
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
никакой "новый контекст" не создаётся, почитай про стрелочные функции. У них правильнее сказать "нет контекста" А новая функция каждый раз создаётся, да
контекст для функций вообще странное слово у фунций есть замыкание и некое this значение, которое может быть прибинденным или же динамическим (ну и аргументы тоже) в v8 FunctionContext содержит в себе все три куска функции: arguments, this, closure а функция состоит из FunctionBody и FunctionContext

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

Vitaliy
23.05.2018
14:49:51
@typescript_ru
Я понял. Спасибо

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

Сергей
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 получается за пределом

непонятно...

from
23.05.2018
14:55:00
примитивы не по ссылке сравниваются, а по значению
и что? Я про сравнение ничего не говорил) а про создание

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

Admin
ERROR: S client not available

Сергей
23.05.2018
14:55:24
onClick={()=> this... this получается за пределом
в данном случае замыкания нет, так как this равен месту объявления фукцнии

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

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

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

from
23.05.2018
14:58:38
в данном случае замыкания нет, так как this равен месту объявления фукцнии
хммм я бы подумал что это то же самое, что создание замыкания

Сергей
23.05.2018
14:59:40
Потому что onClick рано или поздно попадает в стандартные react-dom компоненты, а им вообще до лампочки что там с функцией
ну это не всегда если компонент сложный и вообще не комильфо на каждый тык в инпут перерендеривать все поэтому появляется sCU и в этом sCU не проверяется хэндлер

Дмитрий
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
в конкретно том компоненте, пришлось добавить в контейнер и в строчку для проверки именно значений иначе было проблемно
буквально начинались лаги, и каждый тык в кнопку порождал обновление через 300мс+, а это очень заметно

from
23.05.2018
15:09:08
ну в таких случаях PureComponent to the rescue конечно :)

по идее такие лаги обычно могут всякие анимации порождать, которые в цикле реактовских обновлений работают

Google
Сергей
23.05.2018
15:10:11
ну в таких случаях PureComponent to the rescue конечно :)
не поможет если есть функции генерируемые))) а я не могу гарантировать этого

Max
23.05.2018
15:11:40
не поможет если есть функции генерируемые))) а я не могу гарантировать этого
Можно написать свой пюре который будет трекать изменения всего кроме функций

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

Страница 4005 из 5115