@react_js

Страница 401 из 5115
Lupsick
21.08.2016
18:33:06
https://github.com/jshjohnson/Choices

58 кб правда

from
21.08.2016
18:36:37
https://github.com/jshjohnson/Choices
неплохо но вот это че-то жесть :) classNames: { containerOuter: 'choices', containerInner: 'choices__inner', input: 'choices__input', inputCloned: 'choices__input--cloned', list: 'choices__list', listItems: 'choices__list--multiple', listSingle: 'choices__list--single', listDropdown: 'choices__list--dropdown', item: 'choices__item', itemSelectable: 'choices__item--selectable', itemDisabled: 'choices__item--disabled', itemChoice: 'choices__item--choice', group: 'choices__group', groupHeading : 'choices__heading', button: 'choices__button', activeState: 'is-active', focusState: 'is-focused', openState: 'is-open', disabledState: 'is-disabled', highlightedState: 'is-highlighted', hiddenState: 'is-hidden', flippedState: 'is-flipped', loadingState: 'is-loading', },

Google
from
21.08.2016
18:37:05
да ну)

Lupsick
21.08.2016
18:37:10
выносится в скрипт другой, похуй

from
21.08.2016
18:37:12
лучше б кастомный render выдал

Lupsick
21.08.2016
18:37:16
https://jets.js.org

вот идея интересная

from
21.08.2016
18:37:54
так и что мешает?

короче одного глобального класса в качестве параметра думаю достаточно

Lupsick
21.08.2016
18:38:33
не представляю как ты хочешь

from
21.08.2016
18:39:09
Что за кастомизация такая, которая требует передать свои названия классов для внутренних элементов

from
21.08.2016
18:42:14
да говорю же, достаточно параметра containerClassName и всё

И через это можно стилизовать внутри всё что угодно. А вот если более серьёзная кастомизация требуется, а именно свой маркап, то лучше предоставить рендер хуки типа choiceRender, resultRender или вообще на все внутренности разом )

Google
Lupsick
21.08.2016
18:48:57
Denis
21.08.2016
18:54:12
https://jets.js.org
эх, нечеткий поиск на нем не реализовать

Lupsick
21.08.2016
18:54:31
Denis
21.08.2016
18:58:27
определенно

Andrey
21.08.2016
21:09:13
внимание /!\ нубский вопрос /!\ как правильно прокидывать хендлер onChange из формы к глубоко вложенным полям ?

Такси в подарок!)
21.08.2016
21:13:43
/!\ Нубский ответ /!\ Вроде, это) https://facebook.github.io/react/docs/context.html

Dmitry
21.08.2016
21:14:42
А стоит ли использовать context?

Такси в подарок!)
21.08.2016
21:15:15
Ну если и правда придется через 4 уровня прокидывать, то почему нет

Вряд ли таких мест много

Andrey
21.08.2016
21:52:51
о спс. но ваще прокидывание сквозь 2 уровня это трешак? какие существуют бест практики?

Denis
21.08.2016
22:27:14
Гайз, подскажите чат по опыту взаимодействия (UX) и тому подобному

Vitaliy
22.08.2016
00:03:27
А стоит ли использовать context?
если реально глубокая вложенность или неясно откуда вызывать, то тут уже надо юзать экшены

Andrey
22.08.2016
07:37:18
А если через редаксы то чо-то я не понимаю откуда брать функцию диспатч

Метод диспатч через пропсы прокидывать или в модуль засйвить и оттуда брать?

from
22.08.2016
07:41:28
А я что-то не понимаю, как такая ситуация может возникнуть ) Из-за чего поля формы оказались "очень глубоко"? Внутри каких компонентов они находятся? Наверняка эти компоненты по сути тоже имеют к форме прямое отношение, а потому логично что они принимают onChange параметр, и надо прокидывать именно через пропсы

Dmitry
22.08.2016
07:42:39
Метод диспатч через пропсы прокидывать или в модуль засйвить и оттуда брать?
Не нужен тебе dispatch в компоненте. Более того, компонент вообще не должен знать, какая архитектура для работы с данными у тебя используется. Подключи экшен один раз на корневом компоненте формы и через пропс прокидывай

Vasiliy
22.08.2016
07:46:27
внимание /!\ нубский вопрос /!\ как правильно прокидывать хендлер onChange из формы к глубоко вложенным полям ?
у самой формы есть onChange если что const name = element.getAttribute('name'); const value = getElementValue(element); …etc

Andrey
22.08.2016
07:47:06
Я просто прощупывают разные варианты построения приложения. Правильно ли я понял, что в сложном редакс- приложении мы должны многократно через 4 уровня писать : ‘‘‘ onChange={yhis.props.onChange} onClickToButtonA={this.props. onClickToButtonA} ... ‘‘‘ "

Google
Dmitry
22.08.2016
07:50:51
Ну у меня так сделано - форма имеет onChange, который при необходимости вызывает экшены. Каждое поле - отдельный компонент. Форма передает ему onChange. А как уж поле внутри себя там устроено - это не волнует форму. Главное сохранить единый интерфейс общения формы с полями. Если придется, то и через 4 вложенности надо прокидывать. Но как выше верно заметили, откуда у тебя взялась такая глубокая вложенность? )

Максимум, что я смог придумать - это Form -> FieldSet -> Field, но это всего 2 уровня )

Andrey
22.08.2016
07:57:41
Ок про иногда возникающую необходимость прокидывать через 2 уровня понял. Спасибо. Уровни у меня такие: 1. Группа форм 2. Форма 3. Обертка для группы полей. 4. Поле 5. Непосредственно инпут

Вероятно это путь вникуда). Но вот группа полей может заменяться на многократно вложенные группы полей

Meg
22.08.2016
08:00:29
http://redux-form.com/5.3.1/#/?_k=yuc6ws

Andrey
22.08.2016
08:07:27
Хм... Слишком долго искать

Как там решается проблема?

from
22.08.2016
08:08:04
Ок про иногда возникающую необходимость прокидывать через 2 уровня понял. Спасибо. Уровни у меня такие: 1. Группа форм 2. Форма 3. Обертка для группы полей. 4. Поле 5. Непосредственно инпут
Ну вот для всех этих полей абсолютно семантично принимать onChange хэндлер, потому передавай через всю цепочку. Другое дело что композицию мог бы сделать удобнее — <FormGroup> <FormField> <Input onChange={this.props.handleChange} /> </FormField> </FormGroup> и ничего передавать не надо

Dmitry
22.08.2016
08:11:35
Я бы на твоем месте разбил одну задачу на несколько: - компонент поля 4. Поле 5. Непосредственно инпут - компонент(ы) формы 2. Форма 3. Обертка для группы полей. 4. компонент поля - компонент(ы) группы форм 1. Группа форм 2. компонент(ы) формы И уже у каждой группы компонентов свои особенности реализации. Например, форме пофиг, как там поле устроено, она просто передала ему onChange. А полю в свою очередь пофиг, кто там передал ему этот хендлер. В теории это поле даже без формы можно использовать, просто соблюдая интерфейс общения. И тогда проблема передачи через вложенность станет менее проблемной, так как будет размазана на разные компоненты

Andrey
22.08.2016
08:30:20
ОО! Спасибо за солюшин

Stanislav
22.08.2016
08:55:43
Ребят, привет! Кто знает лучший способ разделить компоненты на мобильные/десктоп для страницы? Может даже на уровне рутера? (о_О)

Stanislav
22.08.2016
09:07:04
это другой вопрос

например сильно разный UX

ENAMETOOLONG
22.08.2016
09:08:24
например сильно разный UX
npm i platform , пробрасываешь пропс в корневой компонент, и рендеришь разные компоненты где тебе надо в зависимости от пропса от platform

Stanislav
22.08.2016
09:08:51
ок, спасибо, смотрю что там

ENAMETOOLONG
22.08.2016
09:08:54
но бандл все-равно будет содержать все компоненты. Иначе чанки делать надо

Stanislav
22.08.2016
09:09:31
это понятно

ENAMETOOLONG
22.08.2016
09:09:33
@superlaziness , я не уверен что это оптимальный вариант, но я бы так начал делать

Vladimir
22.08.2016
09:10:58
Если прям по жести разделять, то делаешь два рута корневых и через requre.ensure грузишь либо один либо второй

Google
from
22.08.2016
09:11:10
определять платформу звучит как плохая идея

лучше смотреть на ширину экрана и всё

Admin
ERROR: S client not available

from
22.08.2016
09:11:51
а если ssr?
а в чем разница?

Stanislav
22.08.2016
09:11:57
он не знает ширины

и не знает экрана

from
22.08.2016
09:12:11
грустно)

Vladimir
22.08.2016
09:12:14
Можно угадать по юзерагенту

from
22.08.2016
09:13:00
Можно угадать по юзерагенту
ну вот плохая идея это :( http://webaim.org/blog/user-agent-string-history/

надо по фичам смотреть

не просто так модернайзеры изобрели

Владимир
22.08.2016
09:13:55
на сервере по фичам ?

from
22.08.2016
09:14:08
на сервере по фичам ?
да нет конечно

к сожалению )

Stanislav
22.08.2016
09:14:21
дак причем здесь сожаление то?

и грусть )

Владимир
22.08.2016
09:14:30
вот я то же не понимаю

Stanislav
22.08.2016
09:14:36
есть задача, надо решить

Vitaly
22.08.2016
09:14:38
Ребят, кто-нибудь из вас юзает draft.js? Сам редактор у меня работает нормально, но вот как эту дичь экспортировать в стрингу?)

Google
from
22.08.2016
09:14:51
есть задача, надо решить
на уровне css не получается?

Stanislav
22.08.2016
09:15:18
получается легко

но задача другая

нужно рендерить разные компоненты для мобильного и десктопа.

Владимир
22.08.2016
09:16:28
ну ты уже понял что на сервере ты это сделать не можешь

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

Stanislav
22.08.2016
09:16:54
по юзерагенту можно

from
22.08.2016
09:17:07
хехе https://css-tricks.com/make-client-side-data-available-server-side/ ) спорно конечно

Stanislav
22.08.2016
09:17:40
через куки? хм

ну кстати вариант

from
22.08.2016
09:18:05
ну в первый раз у тебя всё равно информации не будет

потому нужны хаки типа релоада

что конечно таксе

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