@react_js

Страница 2301 из 5115
Дмитрий
12.10.2017
14:04:35
А когда ООП пытается их отражать, то оказывается, что эта абстракция напрочь протекает

Дмитрий
12.10.2017
14:08:01
Ну вот мера — это когда не пытаешься объектами описывать их связи)

Google
Дмитрий
12.10.2017
14:08:18
Нет. Не надо. Надо избавится от мутабельности. Тогда ФП будет.
Трейты и интерфейсы это зачастую просто плохо описанный тайпкласс, поэтому без этой концепции особо полноценный фп всё равно не получится

Дмитрий
12.10.2017
14:10:22
это как?
Ну как пример — реализация Iterator с ооп подходом

andretshurotshka?❄️кде
12.10.2017
14:10:29
Дмитрий
12.10.2017
14:10:44
Не переговоры

andretshurotshka?❄️кде
12.10.2017
14:11:08
?

Дмитрий
12.10.2017
14:12:51
Отношения между типами, их преобразования и так далее

"Что с чем связано" а не кто с кем связывается)

Alexander
12.10.2017
14:17:33
Dmitry
12.10.2017
14:18:05
есть хоть 1 причина не юзать в react классе стрелочные функции вместо методов?

andretshurotshka?❄️кде
12.10.2017
14:18:08
Дмитрий
12.10.2017
14:18:42
это про что
Морфизмы, например

есть хоть 1 причина не юзать в react классе стрелочные функции вместо методов?
Обычные методы не будут биндиться для каждого инстанса

Google
Dmitry
12.10.2017
14:20:33
Обычные методы не будут биндиться для каждого инстанса
это я знаю а стрелочная функция биндит this, т. е. ее юзать предпочтительнее и нет никаких подводных камней?

Сергей
12.10.2017
14:23:25
Dmitry
12.10.2017
14:24:19
callMeMaybe(this.myMethod)
а когда такое бываеет нужно сделать?

Сергей
12.10.2017
14:24:39
<div ref={this.setDivRef} />

постоянно

нужно в реакте

Peter
12.10.2017
14:27:42
Ну вот мера — это когда не пытаешься объектами описывать их связи)
является ли бизнес-логика такой связью? как её выразить иначе?

Алексей
12.10.2017
14:31:24
Неа
Как неа? Иммутабельность - это же неотъемлемое свойство ФП.

Дмитрий
12.10.2017
14:31:40
Это необходимое но не достаточное условие

Алексей
12.10.2017
14:33:50
есть хоть 1 причина не юзать в react классе стрелочные функции вместо методов?
Стрелки больше памяти занимают. Точнее стрелки в компонентах реакта.

Dmitry
12.10.2017
14:34:20
даже для огромных проектов не существенно?

Сергей
12.10.2017
14:34:23
да

Google
Сергей
12.10.2017
14:34:27
не в размере проекта дело

Алексей
12.10.2017
14:34:36
Сергей
12.10.2017
14:34:38
стоит учитывать только если создаешь компонент по тысяче раз в секунду

да и все равно тебе bind надо будет делать либо полностью переписать компонент либо отказаться от реакта в этом месте

короч не существенно по факту

Алексей
12.10.2017
14:35:43
в фп есть мутабельность
нет в фп мутабельности

Дмитрий
12.10.2017
14:36:09
Есть

Просто ты волен её не использовать

Алексей
12.10.2017
14:36:47
то есть это даже не необходимое условие?

Peter
12.10.2017
14:37:33
Да, конечно является)
так, хорошо, и как правильно описать набор связей вида "при изменении объектов х, измени объект y"?

Vladimir
12.10.2017
14:37:55
Сергей
12.10.2017
14:38:26
так, хорошо, и как правильно описать набор связей вида "при изменении объектов х, измени объект y"?
скорее всего нужно думать не на уровне объектов а на уровне элементов бизнес-логики

Name
12.10.2017
14:41:13
то есть это даже не необходимое условие?
нет, не необходимое в общем смысле. Достаточно добиться referential transparency, которое дружит с иммутабельностью, но ты может производить локальные мутации, если можешь доказать сохранение целостности сам или при помощи типов

kana
12.10.2017
14:43:21
таки нету ее, ST - это же костыль для перформанса

Есть

Просто ты волен её не использовать

Алексей
12.10.2017
14:45:32
https://cdb.reacttraining.com/react-inline-functions-and-performance-bdff784f5578
Неправильно выразился. Стрелки будут занимать чуть больше памяти, если через них сделаны методы, которые не будут передаваться как обработчики свойств в рендере. Например lifecycle методы. Но при определении стрелок, обычных функций или bind в render расход памяти будет больше, чем определение их как стрелок в конструкторе.

Алексей
12.10.2017
14:47:29
просто всё что в теле класса определено с помощью = как бы определено в конструкторе

Google
Алексей
12.10.2017
14:49:21
сколько байт занимает такой метод?)

Сергей
12.10.2017
14:50:13
сколько байт занимает такой метод?)
лол ну посчитай сколько объектов сгенерит v8

Алексей
12.10.2017
14:50:17
а это уже сложный вопрос и зависит наверное от движка js

но не очень много

Алексей
12.10.2017
14:50:49
лол ну посчитай сколько объектов сгенерит v8
я думал может кто уже сделал это за меня ?

Stepan
12.10.2017
14:51:16
Та скоро можно будет по умолчанию брать V8

Алексей
12.10.2017
14:52:59
сколько байт занимает такой метод?)
Я рискну интуитивно предположить, что 128 байт является самой пессиместичной верхней оценкой. То есть скорее всего меньше и врядли больше.

Vlad
12.10.2017
14:53:23
в react-router 4 можно ли как нибудь передать данные через <Redirect> ?

Admin
ERROR: S client not available

Алексей
12.10.2017
14:53:47
почему 128?
интуитивно же

Stepan
12.10.2017
14:53:57
Как-то уж очень дохуя

Алексей
12.10.2017
14:54:20
Как-то уж очень дохуя
это врехняя оценка, то есть явно не больше

Алексей
12.10.2017
14:54:49
это врехняя оценка, то есть явно не больше
все равно не понятно почему 128 верхняя)

Дмитрий
12.10.2017
14:56:00
Критичность биндинга методов зависит от того, насколько интенсивно используются эти объекты Есть Maybe, активно использующийся в интенсивных вычислениях, инстансы — фактически просто объекты вида { value: any } В прототипе же больше дюжины методов Сказать что это будет сильный удар по перфомансу — ничего не сказать)

Алексей
12.10.2017
14:56:29
это врехняя оценка, то есть явно не больше
моя ставка - размер строковой константы и размер указателя)

Stepan
12.10.2017
14:56:58
Функции в v8 переиспользуются

Google
Алексей
12.10.2017
14:57:15
и хэш таблица
не, это сам объект. А сам объект в виде хидден класса, то есть структура сишная

Алексей
12.10.2017
14:57:42
Это в V8. Но не V8 едины.

Сергей
12.10.2017
14:57:45
моя ставка - размер строковой константы и размер указателя)
а вот зря на каждый метод v8 создает 3 объекта разных классов на аргументы, на метод, и на this

забыл ещё о scope

Vlad
12.10.2017
14:57:56
хочу передать функцию например: <Redirect foo={bar}> но так не работает

В плане?

Stepan
12.10.2017
14:58:06
Когда отвечаешь на сообщение

Stepan
12.10.2017
14:58:21
Собеседник получит меншон

Сергей
12.10.2017
14:58:38
так я про сам метод
так сам метод это и есть эти составляющие

Stepan
12.10.2017
14:58:55
забыл ещё о scope
Замыкание?

Сергей
12.10.2017
14:59:16
замыкание, аргументы, this, информация о методе

Алексей
12.10.2017
14:59:16
так сам метод это и есть эти составляющие
согласен, но думаю что в самом объекте можно указателем сослатся

именно в инстансе

Vlad
12.10.2017
14:59:45
В плане?
хочу передать функцию например: <Redirect foo={bar}> но так не работает

Сергей
12.10.2017
15:00:04
согласен, но думаю что в самом объекте можно указателем сослатся
я не знаю почему сделали не так но мб найду ещё раз конкретный код прошлый раз находил его когда был спор о .bind()

Stepan
12.10.2017
15:00:23
@sergeysova, а как же реюз функций в v8?

Алексей
12.10.2017
15:00:28
согласен, но думаю что в самом объекте можно указателем сослатся
каждый инстанс к своему this привязывается, плюс к замкнутым переменным

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