
Artyom
11.10.2017
09:35:19
У кого-нибудь есть нормальный говоый компонент Autocomplete на mui@next?

Сергей
11.10.2017
09:36:00

Artyom
11.10.2017
09:36:19
Ну хоть какой, тогда)
Нормальный, в смысле готовый и рабочий

Google

Artyom
11.10.2017
09:36:55
Или так: в стиле старого mui
Да хоть какой... Дайте, код гляну, там посмотрим
Может быстрее будет, чем самому писать...

Sergey
11.10.2017
09:45:32

Denis
11.10.2017
10:02:02
да и вроде там есть подобный пример
а чисто для некст ветки я и сам не находил

Artyom
11.10.2017
10:03:33
Дай глянуть, пожалуйста
Как, имея реф элемента, узнать его ширину?

Dmitry
11.10.2017
10:35:22
this.el.clientWidth

Сергей
11.10.2017
10:36:29

Artyom
11.10.2017
10:36:58
ref.clientWidth, отлично, спасибо

Dmitry
11.10.2017
10:40:23
Ребят, как можно обработчик из дочернего компонента вытянуть в родительский, если не получается через props передать, как это обычно делают? Проблема в том, что вместо композиции используется наследование. Понимаю, что через ссылку в super() как-то можно, но сам руками никогда так не делал.

Google

Сергей
11.10.2017
10:42:18
Наследование это чудовищно

Dmitry
11.10.2017
10:42:39
типа export default class Component1 extends Component2 {}
внутри Component2 я делаю onScroll={props.onScroll},а куда дальше его пробрасывать? В приложении я использую Component1 и на прямую работа только с ним.

Сергей
11.10.2017
10:42:50
Пусть тот кто сделал наследование компонентов сломает себе руки

Dmitry
11.10.2017
10:43:03
мне нужно решить бизнес-задачу, а не устраивать рефакторинг-пати)

Сергей
11.10.2017
10:43:14
Лол

Dmitry
11.10.2017
10:43:19
там компонент я буду неделю переделывать

Vladimir
11.10.2017
10:43:28
От базовой страницы, ибо ввиду нехилого легаси - нужно удалять элементы дома, если пришли не с реакт страницы. Но это можно сделать и через HOC, да

Сергей
11.10.2017
10:44:14

Vladimir
11.10.2017
10:44:16
Возможно, что так будет лучше, да

Dmitry
11.10.2017
10:44:53
и что мне теперь делать? как вытянуть мой обработчик в наследника, чтобы обработать событие?
я вот даже умом схватить не могу, как это делать

Vladimir
11.10.2017
10:45:35
У нас есть легаси, который выполняют работу с домом при переходе страниц, partial-refresh так скажем. Он же и с историей работает. В итоге, чтобы присобачить react-router пришлось изменить сорцы этого легаси, и в роутере использовать ту же историю. Но если при переходе с реакт страницы на реакт - все очищает роутер, то с не реакт на реакт - приходится самим ?

Dmitry
11.10.2017
10:45:39
мэйби невозможно?

Vladimir
11.10.2017
10:45:52
Ибо мы не можем вот так взять и выпилить весь легаси, нужно постепенно

Dmitry
11.10.2017
10:46:29

Сергей
11.10.2017
10:47:00

Dmitry
11.10.2017
10:47:26

Vladimir
11.10.2017
10:47:35
hoc

Google

Сергей
11.10.2017
10:47:48

Dmitry
11.10.2017
10:47:49
ребят, вы пошли там метафизику обсуждать между собой, а мне то поможете?))
я так понимаю, что у меня выхода вообще нет, только переписывать компонент

Denis
11.10.2017
10:48:03
Introducing downshift ?️ for React ⚛️ – kentcdodds
https://blog.kentcdodds.com/introducing-downshift-for-react-b1de3fca0817

Vladimir
11.10.2017
10:48:09

Denis
11.10.2017
10:48:17

Сергей
11.10.2017
10:48:18

Dmitry
11.10.2017
10:48:36

Сергей
11.10.2017
10:48:57

Vladimir
11.10.2017
10:49:19
и зачем это в классе?

Dmitry
11.10.2017
10:49:31
а где это хранить?

Сергей
11.10.2017
10:49:55

Сергей
11.10.2017
10:49:57
Бля
Там говнокод
Ручное управление классами
Жуть

ed
11.10.2017
10:50:51
по поводу валидаций, в проекте всегда делаю валидацию которая проверяет ошибку, если вернулся не false - значит вернулся текст ошибки что не так, так же не всегда проверка валидно ли что-либо должна ставить класс, это уже другое

Dmitry
11.10.2017
10:51:29

ed
11.10.2017
10:51:57
https://github.com/dleitee/valid.js проверка email или еще что писать самому - самоубийство

Google

Artyom
11.10.2017
10:52:11
Up
Чет монструозное все >_>

Stepan
11.10.2017
10:52:18

Dmitry
11.10.2017
10:52:59

Stepan
11.10.2017
10:53:22
Это пиздец, чувак

ed
11.10.2017
10:53:29
надо разносить проверку на ошибку и управление элементом

Сергей
11.10.2017
10:54:02
ты бы лучше написал?
Вернуть список ошибок из функции
Компонент после вызова функции валидации положил бы ошибки в стейт
В рендере проставил бы классы ошибок на основе данных из стейта

Stepan
11.10.2017
10:54:18
+

Admin
ERROR: S client not available

Сергей
11.10.2017
10:55:01

Dmitry
11.10.2017
10:55:16
стрелочные функции работают медленнее
вроде как

Сергей
11.10.2017
10:55:22
Лол
Ага

Stepan
11.10.2017
10:56:42
Щас бы руками классы через рефу проставлять, но зато париться, что стрелочные функции медленные

Dmitry
11.10.2017
10:57:34

ed
11.10.2017
10:57:44
пока у вас тут ажиотаж такой, я тут еще не много вынес говнокода в опенсорс)
https://github.com/edtoken/redux-crud-action-types
если это можно так назвать
есть похожий очень пакет, но у него есть проблема с которой наш проект не сможет жить, он не делает уникальными имена
у нас actionType это rest урл запроса(удобно), а они повторяются, поэтому нужна уникальность, что-то в таком стиле
USER_FETCH = create('user')
USER_DELETE = create('user')

Google

Сергей
11.10.2017
11:00:17
{create.prefix}/pending/id${_uniqueId}/${type}

ed
11.10.2017
11:01:28
в нашем случае файл actionTypes по сути список урлов бека и когда ты делаешь запрос - ты используешь тот же action_type и не думаешь над тем какой там урл
ну это очень грубо говоря
то есть потом выходит что-то в стиле axios.get(actionTypes.USER) или fetch(USER)

Сергей
11.10.2017
11:02:56
Странно
Зачем так делать
У меня
api.user.fetchProfile()
И вообще плевать
Что внутри

ed
11.10.2017
11:03:59
примерно года два назад я пилил большую црм на redux и меня бесили ссылки в экшенах, особенно если надо передать какую-то жопу в урле, поэтому типы экшенов сделал ссылками на рест

Vitaly
11.10.2017
11:04:17
немного жести в вашу ленту...

ed
11.10.2017
11:04:24
то есть меня бесили fetch('blablabla/asdasdasd/asdasd/asd/asd/asd/') вот это
а еще, у нас было несколько разных апи с которыми одновременно работал фронт на разных серверах и получался полный треш
поэтому я стад делать action type ссылкой по ресту

Сергей
11.10.2017
11:04:59

ed
11.10.2017
11:05:32
ну хз, тогда показалось это удобным, в тот момент все писали export const USER = 'USER'