
Roman
15.10.2018
13:39:49

Andrey
15.10.2018
13:40:38

Roman
15.10.2018
13:41:00

Andrew
15.10.2018
13:41:51
ладно, не похер

Google

Cenator
15.10.2018
13:42:20
Мне нет.
И как прокидываешь параметр в хендлер?

Andrey
15.10.2018
13:42:22

Cenator
15.10.2018
13:43:17

Roman
15.10.2018
13:43:17

Andrey
15.10.2018
13:43:39

Cenator
15.10.2018
13:43:48

Roman
15.10.2018
13:43:56
handle(id)
handle = () => id =>

Cenator
15.10.2018
13:44:05

Danila
15.10.2018
13:44:17

Roman
15.10.2018
13:44:23
То же самое
а по-моему нет, так ты передаешь ссылку все же

Danila
15.10.2018
13:44:25
И в чём отличие, если оно есть

Google

Cenator
15.10.2018
13:44:43

Rain
15.10.2018
13:46:17
Можно же просто рекомпозом сделать

Ilya
15.10.2018
13:46:29
за описывание хендлеров анонимными функциями - обычно бъют по рукам, особенно если компонет описывается классом (т.е. не "функциональный")

Andrey
15.10.2018
13:46:49

Dimanius851
15.10.2018
13:46:53
?

Danila
15.10.2018
13:58:43
Изучи что такое декоратор.
Перечитал, всё понял, ничего нового, не оч понятно при этом всё равно, зачем провозглашать превосходство композиции над наследованием, если декоратор под капотом таки делает класс, экстендящий декорируемый. Пойду ещё раз попробую понять, какой с этих ХОК толк :)
Типа, если прятать ООП под функции, то становится ли от этого что-то более функциональным по своей сути

Andrey
15.10.2018
13:59:30

Dmitry
15.10.2018
13:59:41
наследование вносит энтропию, порождая не очевидные связи
потому наследование здесь - антипаттерн
и профи рекомендуют юзать композицию
здесь всё просто вроде

Roman
15.10.2018
14:00:35
^ правильно говорит

Danila
15.10.2018
14:00:53

Dmitry
15.10.2018
14:01:00
что такое " более функциональным" вооще не понял

Danila
15.10.2018
14:01:40
export function logDecorator(constructor) {
const original = constructor.prototype.render;
constructor.prototype.render = function() {
console.log(`Rendering ${constructor.name}...`);
return original.apply(this, arguments);
};
}
constructor.prototype.render = function()- за экстенд не считается?

Andrey
15.10.2018
14:01:57

Danila
15.10.2018
14:01:59
Или я чё-то не читаю

Mike
15.10.2018
14:02:00
Как это так?
хок что угодно может делать, это функция, принимающая на вход компонент и возвращающая новый, и по каким правилам — никого не ебет, но обычно создается новый, рендерящий входной по каким-то правилам

Danila
15.10.2018
14:02:10
Итернет врёт

Google

Andrey
15.10.2018
14:02:23
Ты создаёшь новый объект, а не переопределяешь существующий.

Danila
15.10.2018
14:02:25
С ХОК, предположим, ясно, да, звучит разумно. Но почему то, что я написал - не декоратор, всё равно не понятно

Mike
15.10.2018
14:04:31
потому что декоратор тоже принимает на вход декорируемую сущность и возвращает новую
а не меняет вход

Nerzh
15.10.2018
14:06:58
как-то я хотел отнаследоваться от какой-то компоненты, которая наследовалась от реакт компоненты. Мне реакт сказал, что мой класс не компонента реакта и послал меня. Я вообще не разбираюсь в программировании, скажите мне, что я сделал не так ?

Danila
15.10.2018
14:07:40
потому что декоратор тоже принимает на вход декорируемую сущность и возвращает новую
Ну хорошо, если написать
function logRender(constructor){
return class extends constructor {
console.log('Component render');
constructor.prototype.render.apply(this, arguments);
};
}
@logRender
class Component extends React.Component{///}
То это будет декоратором? По-сути, он возвращает новый класс. Такое я видел в примерах в статьях по декораторам

Nerzh
15.10.2018
14:08:12

Roman
15.10.2018
14:09:25

Nerzh
15.10.2018
14:10:55
реакт про композицию, а не наследование
меня просто сбивают с толку вообще разговоры про наследование и прочие умные вещи в JS, когда я пытаюсь сделать какую-то банальную фигню и не могу, опять же повторюсь я не программист, может я чего-то не понимаю

Roman
15.10.2018
14:11:16

Nerzh
15.10.2018
14:11:39
я обычный разработчик самоучка

Danila
15.10.2018
14:14:24

Nerzh
15.10.2018
14:14:44
серверный swift и ruby... и там и там все работает +/- одинакво и никто в основном не спорит про наследование и композицию. Сюда как не зайду кругом антипаттерны, наследование и функциональный подход. А на деле я всего лишь раз попытался отнаследоваться от класса, который наследовался от другого класса и ничего не сработало
я не тролю, я просто пытаюсь понять о чем здесь постоянно говорят
может я неправильно как-то это сделал
но реакт четко сказал что мой класс не компонента

Danila
15.10.2018
14:16:55

Roman
15.10.2018
14:16:59

Cenator
15.10.2018
14:17:43

Google

Cenator
15.10.2018
14:17:51
но вообще оно должно работать

Nerzh
15.10.2018
14:23:38
та давно это было, а суть была в том, что была написана компонента скажем class Сustom1 которая наследовалась от React.Component
появилась потребность в компоненте которая была практический идентична с Custom1 за исключением некоторых вещей
я захотел сделать Custom2 и отнаследоваться от Custom1, это бы решило мою проблему, но реакт сказал что Custom2 - не я вляется компонентой реакта

Cenator
15.10.2018
14:26:16

Maxim
15.10.2018
14:27:00
Парни, привет! Кто нибудь пробовал запускать фронт из докер контейнера?

Cenator
15.10.2018
14:28:09
пробовал, не очень прикольно

?
15.10.2018
14:29:21
Народ модуль react-chartjs-2 весит просто дофига, но я исользвую толлько Line можно ли как-то взять из модуля только его а все остальное нафиг?

Nerzh
15.10.2018
14:30:48
https://codesandbox.io/s/yplln9m87v
спсб ) это крайне странно... я тогда по разному пробовал... ну тогда спасибо, буду знать что так все-таки можно делать. Правда там еще метеор был фиг знает как он собирал это все в кучу, может из-за него какие-то проблемы возникли, еще раз спасибо за наглядный пример )

Maxim
15.10.2018
14:32:07
пробовал, не очень прикольно
У меня ситуация такая. Есть фронт на vue, который пилили бэкэндщики. Так каша из всего что можно даже в html query подключен. Параллельно пишем react версию (по человечески) и планируем на неё переезжать. В общем фронт стартует ошибок нет, но в браузере валится эсшепшн Uncaught TypeError: Cannot read property 'defaults' of undefined
at eval (webpack-internal:///23:48) Пробовал менять глобальные webpack версии, ставить vue-cli ниже версиями, ни чего не помогает. У коллег на винде работает. Думаю запустить это из docker.

Admin
ERROR: S client not available

Паша
15.10.2018
14:48:53
привет всем, подскажите, как вытащить значение из дива, т.к. e.target.value только для input?
e.target.innerHTML'ом можно?

Maxim
15.10.2018
14:49:36

Паша
15.10.2018
14:50:06
ок
спасибо
везде где туториал по ref, одни инпуты, есть пример с другими тегами?

Vadim
15.10.2018
14:52:29

Паша
15.10.2018
14:52:59
у меня contenteditable
пилю мини редактор

Roman
15.10.2018
14:54:09
редактируешь через actions

Google

Roman
15.10.2018
14:54:17

Паша
15.10.2018
14:55:24

Psycho
15.10.2018
14:56:24

Паша
15.10.2018
14:57:46

Constantine
15.10.2018
14:58:26

Dimanius851
15.10.2018
14:58:48

Andrew
15.10.2018
14:59:44
Хватит уже () => в рендере
Уже миллион раз говорили на эту тему

Andrew
15.10.2018
15:00:02

Паша
15.10.2018
15:00:17

Constantine
15.10.2018
15:01:06

Паша
15.10.2018
15:01:24

Constantine
15.10.2018
15:02:32
я скорее про двигло ) свое или то, что они предлагают )
и всякие китайские поделки с плагинами

Паша
15.10.2018
15:03:52
у меня ещё вопрос. можно ли в реакт юзать не дефолные события? например DOMCharacterDataModified
у меня отладчик ругается, мол события такого нет. Можно ли addEventListener применить к компоненту?

Andrew
15.10.2018
15:06:05

Psycho
15.10.2018
15:07:06
а где ты слушаешь DOMCharacterDataModified ? его в html нельзя прописать
This event cannot be registered in HTML.
а значит и в JSX нельзя