Андрей
а попробуй проверить сколько раз рендер происходит, когда новые данные из mobx'a приходят)
Рендерится 1 раз. Опишу по подробнее, что я вообще там понаписал. У меня есть вьюха. И в этой вьюхе я вызываю компонент, состоящий из формы вложенных в ней инпутов. Ещё заметил что у самого последнего инпута в форме фокус не сбрасывается, как у предыдущих.
js - one love
good morning yall, https://stackblitz.com/edit/react-mxrfzy
js - one love
почему state не меняется сразу
Anonymous
test() Попробуй
js - one love
как?
Андрей
Код в студию
Увы, интеллектуальная собственность. Если только вечером дома аналог напишу, то скину
js - one love
а правильно использовать event.persist() ?
js - one love
для изменение inputов
Vadim
а правильно использовать event.persist() ?
Кажись вообще не нужно это
js - one love
не знаю в чем прикол, тогда без event.persist() выдал ошибку
js - one love
сейчас все нормально и без
js - one love
const handleChange = (ev) => { const el = ev.target const stateName = el.type === 'checkbox' ? 'isAgree' : [el.name] setForm(prevState => ({...prevState, [stateName]: (stateName === 'isAgree') ? el.checked : el.value })) }
js - one love
const handleChange = (ev) => { const el = ev.target const stateName = el.type === 'checkbox' ? 'isAgree' : [el.name] setForm(prevState => ({...prevState, [stateName]: (stateName === 'isAgree') ? ev.target.checked : ev.target.value })) }
js - one love
если сделать так выдает ошибку
js - one love
js - one love
почему так?
Daniil
Внимательней смотри как ты дергаешь свой ивент при хендле
invasion
Извиняюсь за оффтоп. Как в PhpStorm файл перетаскивать на второе окно? В VSCode я это делал простым зажатием мыши. А тут мне надо по правому клику в менюшке тыкать пару вкладок, что не совсем удобно.
invasion
Не-не-не, это понятно
invasion
Жутко не удобно же
Anonymous
Жутко не удобно же
Синдром утёнка
invasion
Да причем тут синдром утёнка? Должен быть какой-нибудь хоткей
invasion
Я не стороник кликанья, онли хоткеи использую всегда или максимум перетаскивания мышкой.
invasion
у вскода автоимпорт косячный
invasion
Синдром утёнка
Можешь не благодарить меня.
invasion
Даже в доке у JetBrains об этом не сказано, что зайти сюда нужно
Anonymous
Можешь не благодарить меня.
В постановке твоей задачи ошибка. Ты искал шорткат
invasion
Нету шортката у этой херни
invasion
Нужно вручную назначить
Anonymous
Нужно вручную назначить
я рад, что ты решил проблему.
invasion
☺️
Anonymous
https://www.chartjs.org/
Спасибо. Highcharts получше, имхо, т. к. её обёртка для Реакт. Доки там не очень, нужно гуглить примеры.
Roman
Наведите плз на путь - генерю список из айтемов. Как отследить на какой айтем произошел клик? Ранее я просто вводил в сторе айди для каждой записи, но может можно без этого? У каждой записи есть только key сейчас. Цель - возможность редактировать айтемы. Но получается тогда я не смогу обращаться к айтему в сторе, если не превяжу к каждой свой айди, так.
Roman
Добавить каждому onClick?
Ну это понятно. Но по каким параметрам можно привязать будет айтем к значению в сторе? Короче ладно. Мне видится, что без присвоению каждой айтем айди в сторе не получится.
Roman
Конечно не получится
Да чето затупил)
Ivan
Да чето затупил)
А ещё хорошим решением будет не хранить состояние «кликнут/не кликнут» в сторе. Это ui-данные, их нормально хранить в стейте родителя.
Roman
А ещё хорошим решением будет не хранить состояние «кликнут/не кликнут» в сторе. Это ui-данные, их нормально хранить в стейте родителя.
Ну да, у меня Стейт в родителе вообще. Мелкое приложение, где можно кликнуть на запись и отредактировать её.
Dima
А пример есть как это делается?
ты же знаешь про всплытие событий?
Dima
вот и ловишь их на родителе и идентифицируешь по ID элемента
Roman
ты же знаешь про всплытие событий?
Ну в теории примерно понял, хорошо бы увидеть как это выглядит.
Dima
Зачем это в реакте?
А какие варианты?
Roman
А какие варианты?
Я изучал по книге там просто в самом нижнем компоненте прописывалось событие. Ну то есть как бы в практике не встречал поэтому интересно посмотреть как это вообще делается.
Dima
Я изучал по книге там просто в самом нижнем компоненте прописывалось событие. Ну то есть как бы в практике не встречал поэтому интересно посмотреть как это вообще делается.
когда у тебя таблица разростается(или криво реализована), то браузер начинает жестко тормозить изза большого колличества eventListener`ов
Dima
IE так вообще падает первый в таких ситуациях
Dima
про практику гугли, куча примеров
🦜
Зачем это в реакте?
Затем, что оно есть
🦜
Затем, что оно есть
я недавно делал карточку и кнопки на ней вызывали онклик на рутовом диве карточки
Roman
Ребят, а вот так это норм писать - я имею ввиду it.id {item.mon.map(it => ( <p key={v4()} onClick={e => showCellIndex(e, it.id)}> {it.text} </p> ))}
Ruslan
добрый день, нужна помощь. Никак не могу понять, как реализовать Basic авторизацию на redux. У меня есть форма, с логином и паролем, если я успешно авторизовался, то должен их записать в локалстораж, если разлогинился то должен удалить. Как мне мой axios заставить подписаться на локалстораж глобально, и в зависимости от состояния локалстораж передавать или нет авторизацию
Nikita
Ребят, а вот так это норм писать - я имею ввиду it.id {item.mon.map(it => ( <p key={v4()} onClick={e => showCellIndex(e, it.id)}> {it.text} </p> ))}
Callback красивше замыканием вне рендеринга компонента Чтобы было в итоге showCellIndex(t.id)(e)
Anonymous
Как правильно впихнуть это все в проект и сделать по аналогии с выводом товаров через блоки див написать функцию что бы по автомату ко всем элементам списка применяло это все? https://reactjsexample.com/react-component-for-keeping-components-scrolled-down/
Anonymous
Сейчас планирую добивать тему с выводом товаров и написанием соответствующей функции этого все, а вот как все остальное по такому же методу применять? Например горизонтал, вертикал поля с инфой внутри и т.д, с соответствующим условием если например превышает какую то длинну, ширину у полученных данных, что бы это все активировалось? Это через патчи или хуки лучше реализовывать?
Anonymous
Вобще, почему так сложно докапаться до сути и понять как написать функцию одного блока, что бы потом распространялось на другие блоки?
Kirill
А знает кто хорошую светлую тему для VS Code? А то не могу найти не вырвиглазное что-то, приходится WebStorm пользоваться.
Anonymous
Хоть блин изучай это все и потом пили курс только по этой инфе
Andrey
а по другому не получится
есть штатные средства браузеров, чтобы запоминать креденшиалы есть httpOnly куки
Andrey
Andrey
Wut?
sigh заходишь на страницу вводишь креды браузер спрашивает “запомнить?” тыкаешь да вауля
Andrey
А как это связано с аутентификацией?
а как связано с аутентификацией хранение кредов в лс?
Andrey
вангую, что там просто “предзаполнить пароль с логином/сразу вытащить из лс и пульнуть на сервер авторизационный запрос”