@react_js

Страница 3845 из 5115
Oleg
03.05.2018
10:34:36
Только standalone, fullscreen и minimal-ui работают

Valeriy
03.05.2018
10:34:39
просто адаптер другой подключил и все

Artem
03.05.2018
10:35:30
так наоборот, сегодня это тупые input, завтра это умные TextField от материал-уи
я понимаю почему ты так делаешь, я просто когда у себя думал, почему то пришел к выводу что должна быть централизованная точка логики, которая рулит отображаением, там проще будет как мне показалось не запутатся в логике

Google
Valeriy
03.05.2018
10:36:26
в нем вся логика формы сидит, это отслеживание через onChange с низов значений, валидация, onblur/onfocus также

сами по себе компоненты только знают как себя encode/decode сделать из модели данных

я полностью контролирую компоненты

селекты в том числе

Alex
03.05.2018
10:37:54
не, просто ты не столкнулся с теми кейсами с которыми я

Valeriy
03.05.2018
10:38:01
как только он отрисовался, я об этом сразу наверху знаю

Artem
03.05.2018
10:38:15
селекты в том числе
<Select> <label /> <Icon /> <Box /> </Select>

грубо говоря, у меня Select просто рассылает пропсы вниз

обратка идет через ивент пропсы тупых

тупые ни к чему доступ не имеют, но наверно да у меня подход другой)

я просто подумал гляда на твое, что может наделить child возможностями, но почему то думаю что это запутает меня)

Valeriy
03.05.2018
10:39:59
вот у меня для простого тупого селекта обертка

Google
Valeriy
03.05.2018
10:40:01


на выходе имеем обернутый <input type="select">...</select> с кучей <option ...>...</option>

Alex
03.05.2018
10:40:51
=> рендер формы => поле маунтится в форму оставляя ссылку => пришли данные ререндер формы => на этом этапе мы имеем старый снапшот значений полей, т.к. поля ещё не обновились и мы не знаем изменилось ли у них значение

Valeriy
03.05.2018
10:41:11
хок SelectField умеет кодировать/декодировать модель данных в правильные пропсы для селекта

это регулируется getter/setter

Alexander
03.05.2018
10:42:00
import { createAction, createReducer } from 'redix-act'; const send = createAction('[Callback] Send'); const loading = createAction('[Callback] Loading'); const error = createAction('[Callback] Error'); const success = createAction('[Callback] Successfull'); const reducer = createReducer({ [loading]: (state) => ({ ...state, loading: true }), [error]: (state, message) => ({ ...state, loading: false, status: 'ERROR', error: message }), [success]: (state) => ({ loading: false, status: 'OK' }) }, { loading: false, status: null, error: '', }); Здесь вообще всё нормально?

Alex
03.05.2018
10:42:07
на выходе имеем обернутый <input type="select">...</select> с кучей <option ...>...</option>
кстати для multiple селекта не подойдёт, там нужно массив из селектнутых

для этого в гетере нужно знать о значении пропа multiple

Alexander
03.05.2018
10:44:07
что ты хочешь услышать то?: ))
Да я запутался... Куда мне пихать запрос к серверу? Как в одном экшене вызвать другие

Valeriy
03.05.2018
10:44:22


Alex
03.05.2018
10:44:38
тогда норм, а почему не через проп?

они же больше ничем не отличаются

Alex
03.05.2018
10:45:24
ну типа можно одним компонентом select обойтись, просто если есть проп multiple то меняется геттер

Artem
03.05.2018
10:45:42
во во меня это сразу остановило, логика усложняется, тебе под каждый тип надо свой адаптер пилить, а можно сверху хоку регистрировать какие данные он куда отправить может и по сути тогда в хокам тупых комопнентах нет нужны

Valeriy
03.05.2018
10:45:42
так сразу понятно и наглядно

чем не заметить этот пропс в груде атрибутов

Google
Valeriy
03.05.2018
10:46:30
тем более что выглядят они по разному и функциональность и модель данных разная у них

Alex
03.05.2018
10:46:52
чем не заметить этот пропс в груде атрибутов
груда пропов у селекта? options и multiple? :D

Artem
03.05.2018
10:46:53
я у себя тригерюсь на колбек onChange и всё
не там другая штука, если дети могут крайне разные с крайне разными пропсами нужно как то им пропсы кидать

Valeriy
03.05.2018
10:47:20
во во меня это сразу остановило, логика усложняется, тебе под каждый тип надо свой адаптер пилить, а можно сверху хоку регистрировать какие данные он куда отправить может и по сути тогда в хокам тупых комопнентах нет нужны
по мне так это очень даже хорошо наоборот, что ты не дергаешь ничего где-то выше, не делаешь слишком умными другие компоненты и не тащишь в них логику, которой в них не должна быть

а наляпал адаптеров на все случаи жизни и живи спокойно

груда пропов у селекта? options и multiple? :D
мне подход регулирования пропсом типа multiple в фактически разных компонентах не нравится

селект и мультиселект разные совершенно для меня

выглядят по разному

данные по разному выдают и принимают

Alex
03.05.2018
10:48:29
а наляпал адаптеров на все случаи жизни и живи спокойно
по идеи геттер заменяет onChange в который как раз и можно закидывать значение

Artem
03.05.2018
10:48:58
а наляпал адаптеров на все случаи жизни и живи спокойно
практика мне показала что баги править удобней в одном месте чем в 10)

Valeriy
03.05.2018
10:49:15
по идеи геттер заменяет onChange в который как раз и можно закидывать значение
ну у меня так и есть... при onChange вызывается геттер, при рендеринге компонента вызывается setter

практика мне показала что баги править удобней в одном месте чем в 10)
когда твои компоненты имеют узкую специализацию - багов на порядок меньше

Alex
03.05.2018
10:50:09
ну тип сама суть гетера так себе если будут кастомные Field

Valeriy
03.05.2018
10:50:23
а когда ты из простого компоненты пытаешься сделать монстра, то жди беды

Alex
03.05.2018
10:50:24
типа тупой элемент который умеет только onChange когда изменился

Valeriy
03.05.2018
10:50:54


Artem
03.05.2018
10:51:06
ну смотри чел в форму спокойно можешь затащить нестандартный компонент, на который у тебя адаптера не будет, и собстсвенно всё) а если дашь ему сверху регистрировать в hoc что слушать, как обрабатывать, и что с этим делать, буде намного гибче

Valeriy
03.05.2018
10:51:14
вот есть onChange, который проносится через контекст в нижние хоки нипутов

Google
Alex
03.05.2018
10:51:20
не я про компонент input который умеет только onChage при изменении

Valeriy
03.05.2018
10:51:30
вызывается он в рутовой форме и на onChange вызывается getter

Alex
03.05.2018
10:51:43
а может быть кастомный компонент который будет вызыватьonChange и передавать в него своё значение

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

через ссылку

Valeriy
03.05.2018
10:52:27
я это указываю при создании хока

Alex
03.05.2018
10:52:38
а у этого компонента нет

вот левый компонент

Admin
ERROR: S client not available

Alex
03.05.2018
10:52:45
из какой-то либы

умеет только onChange

Valeriy
03.05.2018
10:53:04
не понимаю тебя сейчас

Alex
03.05.2018
10:53:35
есть компонент, который при изменении вызывает onChange, у этого компонента внутри не хранится значение нигде

Valeriy
03.05.2018
10:53:36
я ему силой впихиваю туда реф



{this.props.refType]: this.element

Alex
03.05.2018
10:54:17
да я понял, у тебя ссылка на этот компонент

класс

Google
Valeriy
03.05.2018
10:54:24
которы йты зная свой компонент напишешь чтобы передавать значение

Alex
03.05.2018
10:54:33
у этого класса нет поля которое бы отражало его значение

Dima
03.05.2018
10:54:35
всем привет. Подскажите, можно или как-то с помощью вебпака сделать оффлайн bundle? т.е. чтобы он кроме как к беку никуда не лез а все имел в бандле. Сейчас в material-ui фреймворке идут запросы на fonts.googleapi

Alex
03.05.2018
10:54:48
этот компонент при изменении вызывает onChange и всё

Valeriy
03.05.2018
10:55:53
этот компонент при изменении вызывает onChange и всё
ну смотри, при вызове onChange вызовется getter в котором ты напишешь как имея доступ к компоненту или имея сам эвент получить валидное для него значение

Alex
03.05.2018
10:56:48
ну, а я говорю представить ситуацию что такой гетер получить нельзя физически

Valeriy
03.05.2018
10:56:57
я сейчас набросал прототип решения, которое хотел бы видеть в виде нормальной либы на самом деле

Alex
03.05.2018
10:56:59
потому что компонент передаёт значение в onChange

Dima
03.05.2018
10:57:11
это запрос на шрифты, вебпак там вообщем не причём)
я просто думал, может у вебпака есть какой-то параметр в конфиге, чтобы при сборке бандла он все зависимости из инета подкачивал. Такой автомномный бандл. Т.к. spa будет работать в среде, где нет доступа в инет, и эти запросы не работают. Понятно что можно руками скачать, перенаправить и т.п., но может есть какой-то автоматизированный вариант

Alex
03.05.2018
10:57:22
почему?

element это экземпляр, как ты получишь данные к тому что он нарисовал?

Valeriy
03.05.2018
10:57:38
ну вот еще раз, onChange у твоего компонента кастомного есть же?

в него же приходит значение или эвент какой-то

Valeriy
03.05.2018
10:58:02
ты эту всю инфу получаешь в геттере и делаешь с ней что хочешь

конвертируешь в нужный тебе формат

Alex
03.05.2018
10:58:22
а, в гетере по мимо ссылки на элемент ещё и эвент есть?

Valeriy
03.05.2018
10:58:30
да конечно же блин

там целый блок инфы о компоненте

Alex
03.05.2018
10:58:41
всё тогда

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