@react_js

Страница 4306 из 5115
Max
02.07.2018
08:15:28
withOnSomething('onClick', (props)=>doSomething)(YourComponent)

Dmitry
02.07.2018
08:17:06
как вариант... правда этот doSomething в файле с компонентом и придется объявлять, а идея как раз и была вынести логику в файлы оберток

ладно, попробую просто обернуть в лишний div и задать ему onClick

Max
02.07.2018
08:18:16
да, мне нравится самое простое решение

Google
Dmitry
02.07.2018
08:19:56
лол, работает)

осталось валидол верстальщику купить и всё будет ок

в общем да, опять на своих граблях понял что onClick и addEventListener работают по-разному, первый срабатывает ровно в рамках одного среза состояния.

Max
02.07.2018
08:24:27
debounce?
выключение а не задержка )

или реально дебаунс а я не понял чего надо

Tor
02.07.2018
08:25:05
_.once скорее

Dmitry
02.07.2018
08:25:22
debounce?
Задержку в первую очередь попробовал, 100мс не хватает, 150мс уже работает, 200мс для надежности. Но это опять же неопределенность в состоянии и если таких задержек будет много, в какой-то момент отладка станет невозможной.

Dmitry
02.07.2018
08:41:11
Опишите, еще раз, какую задачу вам нужно решить? Задержка выключения хендлера по таймауту - это что-то совсем странное
Пишу редактор для работы с примитивами. Под разный функционал (выделение элементов, редактирование текста и т.п.) могут задействоваться одни и те же события (тот же onclick), но не одновременно. Я кликнул - изменилось состояние - отрисовались новые обертки - эти обертки слушают клик - но обрабатывают и старый прошедший клик тоже. А не должны.

Константин
02.07.2018
08:41:44
выключение а не задержка )
да, я не так прочитал, понедельник день тяжелый)

Pavel
02.07.2018
08:42:45
Похоже на то, что срабатывает всплытие. Пробовал  e.stopPropagation?

Google
Dmitry
02.07.2018
08:45:59
DOM своей жизнью живет

Похоже JSXшные onClick и т.п. это как-то обрабатывают

Artyom
02.07.2018
08:46:53
Пишу редактор для работы с примитивами. Под разный функционал (выделение элементов, редактирование текста и т.п.) могут задействоваться одни и те же события (тот же onclick), но не одновременно. Я кликнул - изменилось состояние - отрисовались новые обертки - эти обертки слушают клик - но обрабатывают и старый прошедший клик тоже. А не должны.
Т.е. нужно применять несколько обработчиков и лишь потом класть результат в стор? Ну вам, я так думаю, нужно пересмотреть общую концепцию отлова евентов. Например, все хоки оборачиваются в верхнеуровневый хок. Промежуточные хоки отлавливают евент, модифицируют его добавляя какую-то информацию и "отпускают" дальше. А уже верхнеуровневый хок получая евент отрабатывает по всем параметрам из евента. Еще можно набирать изменения в асинхронный исполнитель и применять потом разом, вроде того https://github.com/artalar/react-template/blob/v1/src/shared/store.js

Pavel
02.07.2018
08:47:54
Ну да, чтобы событие умирало на той ноде, на который ты хочешь, надо через onClick его навешать, почему onClick кстати не используешь?

Artyom
02.07.2018
08:48:44
Нужно, видимо, хендлить асинхронно евенты, т.е. handleEvent = e => new Promise(r => r(action(e)))

Pavel
02.07.2018
08:51:41
Ну это жесть какая-то) Тем более что действие всё равно синхронное и промис сразу же зарезолвится)

Нужно, видимо, хендлить асинхронно евенты, т.е. handleEvent = e => new Promise(r => r(action(e)))

Pavel
02.07.2018
08:54:35
http://jsfiddle.net/cekqp5uz/

В JS нет асинхронщины, она есть только в среде выполнения

Точнее в АПИ которое предоставляет среда выполнения

Artyom
02.07.2018
08:56:33
Сори, не так написал handleEvent = e => Promise.resolve().then(() => action(e))

Pavel
02.07.2018
08:58:03
Вообще проблема во всплытии, надо его убивать

Artyom
02.07.2018
09:00:28
Вообще проблема во всплытии, надо его убивать
А если сверху понадобится? Довольно радикально

Dmitry
02.07.2018
09:01:16
Вообще проблема во всплытии, надо его убивать
Либо использовать синтетические эвенты реакта. Что кстати не прокатит при использовании библиотек типа gsap

Pavel
02.07.2018
09:02:37
Тут надо плясать от ситуации, либо отказаться от всплытия, либо экшен диспатчить по таймауту

Решать как делать - тебе)

Google
Pavel
02.07.2018
09:04:21
А если сверху понадобится? Довольно радикально
Ну да, радикально, подойдет не всегда

Artyom
02.07.2018
09:22:32
https://twitter.com/mxstbr/status/1013686649144905729

Александр
02.07.2018
10:01:22
Привет, поделитесь, как вы типизируете children в tsx компонентах?

Тимофей
02.07.2018
10:02:15
Александр
02.07.2018
10:03:00
Не может быть, должен же быть способ =) неужели только через child.type?

Konstantin
02.07.2018
10:23:27
народ, а есть какой то способ избавиться от такой портянки? import {ArrayField, ArrayInput, AutocompleteInput, BooleanField, BooleanInput, CheckboxGroupInput, ChipField, Create, CreateButton, Datagrid, DateField, DateInput, DisabledInput, Edit, EditButton, Filter, FunctionField, FormTab, ImageField, ImageInput, List, LongTextInput, minValue, number, NumberField, NumberInput, ReferenceArrayField, ReferenceArrayInput, ReferenceInput, ReferenceManyField, RefreshButton, required, Responsive, ReferenceField, RichTextField, SaveButton, SelectArrayInput, SelectField, SelectInput, Show, ShowButton, SimpleForm, SimpleFormIterator, SimpleList, SingleFieldList, Tab, TabbedForm, TabbedShowLayout, TextField, TextInput, Toolbar, translate} from 'react-admin';

Ivan
02.07.2018
10:23:51
ctrl+alt+L

Konstantin
02.07.2018
10:24:10
не, не, в плане чтобы не указывать руками конкретику

Konstantin
02.07.2018
10:24:24
да строк мало я прост таскаю из файла в файл тот же самый импорт

Tor
02.07.2018
10:24:32
import {*} from ‘react-admin’

Konstantin
02.07.2018
10:24:38
* as somethin
а, ок понел

Konstantin
02.07.2018
10:25:51
ну, ненужны все конечно, но вдруг что понадобится, автокомплит у меня что то через раз только работает, тож не знаю как настроить чтобы заиндексировались в шторме компоненты

arts
02.07.2018
10:26:37
Когда понадобится, тогда и импортируй.

Eugene
02.07.2018
10:39:21
Товарищи, а в formik в validationSchema можно как-нибудь вытянуть пропс? ?

Товарищи, а в formik в validationSchema можно как-нибудь вытянуть пропс? ?
validationSchema: (prop) => Yup.object().shape({ вроде так получилось:) ?

Admin
ERROR: S client not available

Google
MVP
02.07.2018
13:11:10
подскажите по grapcool - если такая ошибка - There is a network error: {"response":{},"statusCode":200,"result":{"code":3016,"requestId":"local:simple:cjj4a0h8y001s0117kvg5in9l","error":"Project not found: 'cjj48gi8u005c0117e8j65ksx'"}} - где то не сходятся ID - как мне обьновить локальный сервис ?

Demid
02.07.2018
13:23:21
Вопрос по SC. Например, мне нужно сделать 3 кнопки, одинаковых по оформлению, отличающихся только размерами. Собственно вопрос, как сделать это лучше? Варианты, которые мне приходят в голову: 1. Сделать 3 кнопки)0) 2. Сделать для каждой кнопки тему и использвать themeProvider. 3. Передавать размеры в пропсках… Собственно,эти варианты, мне кажутся не верными не верными… По этому, обращаюсь к вам)

Daniil
02.07.2018
13:25:02
Один компонент, передавай пропом и делай размер. Как вариант

Demid
02.07.2018
13:31:02
окс, понял) спасибо)



Artyom
02.07.2018
13:32:32
Ну вынеси общий код в ф-ю

Demid
02.07.2018
13:32:56
Artyom
02.07.2018
13:32:57
ifProperty

функцию

А вообще норм) Лучше чем на classnames

А еще лучше никогда не использовать дефолтные экспорты

Demid
02.07.2018
13:34:24
А еще лучше никогда не использовать дефолтные экспорты
А какие «подводные камни» у экспорта по умолчанию? Почему лучше именнованые?

Artyom
02.07.2018
13:35:27
Kendr
02.07.2018
13:35:49
А какие «подводные камни» у экспорта по умолчанию? Почему лучше именнованые?
https://blog.neufund.org/why-we-have-banned-default-exports-and-you-should-do-the-same-d51fdc2cf2ad

Tor
02.07.2018
13:35:58
А еще лучше никогда не использовать дефолтные экспорты
Вроде кроме того что Тришейкинг хуже работает - у них нет минусов? Или я что-то забыл?

Artyom
02.07.2018
13:36:12
А какие «подводные камни» у экспорта по умолчанию? Почему лучше именнованые?
Потому что имя импорта может отличаться от имя экспорта. Из-за этого обязательно в какой-то момент возникнут проблемы при рефакторинге, проверено не раз

Google
Dmitry
02.07.2018
13:38:11
В чем проблема писать одно имя?
Никаких проблем, когда ты в проекте один

Abu
02.07.2018
13:38:40
Никаких проблем, когда ты в проекте один
Не подтверждай кодревью, если коллега пишет говнокод

Artyom
02.07.2018
13:38:53
Я видел проекты... (нет, не наш)

Max
02.07.2018
13:39:13
В чем проблема писать одно имя?
а зачем это вообще разрешать?

Cenator
02.07.2018
13:39:18
Есть какой-нибудь wysiwyg который сохраняет в жсон?

Dmitry
02.07.2018
13:39:19
Не подтверждай кодревью, если коллега пишет говнокод
Может, лучше за меня это будет делать eslint?

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