Ilya
можно плиз мне пример или ссылку
вы импортируете обработчик InputChange - это у вас классическая функция, перепишите его так чтобы он был лямбдой(стрелочной функцией) и вместо биндинга внутри класса просто присваивайте обработчику класса - этот импортированный обработчик
Timofey
в зависимости от разных пропсов - по разному формировать коннект
вы видимо мое первое сообщение не внимательно прочли
Ilya
ну mapStateToProps и так всегда принимает state и props
когда вы описываете его как объект - вы не можете никакую исчислимую от состояния и пропсов логику использовать для его формирования - вы его как декларировали таким он и будет - статический функция позволяет сделать его динамическим
Igor
знали ли вы что mapStateToProps может возвращать не только объект но и функцию? кто знает для чего это?
В оф.документации говорится, что должен возвращать объект. С чего вы взяли что он может вернуть функцию?
Timofey
и я не смог найти в доке для чего это нужно.
Igor
с того что это работает) можете сами проверить)
Я верю, но не вижу смысла в этом.
Тимофей 🛴
с того что это работает) можете сами проверить)
Для того что бы селекторы пересоздавать для каждого компонента
Timofey
вопрос в том КАК оно работает
ну вот я и говорю об этом. для чего дали возможность такую.
Ilya
и я не смог найти в доке для чего это нужно.
https://stackoverflow.com/questions/50006884/redux-understanding-advanced-mapstatetoprops-returning-a-function вот какой-то спич по этой теме легко гуглится
Мира
В реакте двойной вызов кроме как в коннексте где то юзается?
Alexey
двойной вызов?
Timofey
Для того что бы селекторы пересоздавать для каждого компонента
а что думаете насчет селекторов вообще? нужно ли их писать всегда, для каждого mapStateToProps?
Timofey
хотя чё-то не то по-моему :)
нет. по моему все правильно. как раз про это.
Stripe
Приет всем, есть такое кто использовал react-admin?
Тимофей 🛴
а что думаете насчет селекторов вообще? нужно ли их писать всегда, для каждого mapStateToProps?
Я любил когда все а селекторах и геттерах, а mapStateToProps это просто createStructuredSelector. Но с хуками сча все немного по другому
Timofey
Я любил когда все а селекторах и геттерах, а mapStateToProps это просто createStructuredSelector. Но с хуками сча все немного по другому
а можешь подробнее насчет того как хуки повлияли. может есть пример кода или что-то такое. можно в личку.
Alexey
и я не смог найти в доке для чего это нужно.
а поискать получше? https://react-redux.js.org/api/connect#returns https://react-redux.js.org/api/connect#factory-functions
Тимофей 🛴
а на кой собственно их пересоздавать ? можно кейс
Когда один селектор на несколько компонентов, он же сохраняет только последний параметр
Ilya
Когда один селектор на несколько компонентов, он же сохраняет только последний параметр
опять неуловил - что вы называете селектором ? в данном случае
Тимофей 🛴
Timofey
То что создается с помощью reselect createSelector
да может и в ручную создаваться.
Alexey
в доках прям описание с примерами 😫😩
Тимофей 🛴
да может и в ручную создаваться.
Ну я про селектор с мемоизацией
Timofey
Ну я про селектор с мемоизацией
ну и такой вполне рукотворен)
Тимофей 🛴
Alexey
Дока для слабаков
блеа. точно. забыл
Timofey
в доках прям описание с примерами 😫😩
когда владение английском слабоватое, легко упустить многое(
Ilya
Когда один селектор на несколько компонентов, он же сохраняет только последний параметр
А можно для "глупенького" пару слов - об этой особенности - мемоизированный селектор что делатет для нескольких инстансов компонента ? он получается между ними шариться начинает ? (никогда не юзал реселекторов и иже с ними как-то они мне архитектурно сразу не зашли)
Китикет
а для классовой реализации ваш обработчик должен быть выполнен в видя лямбды (стрелочной функции) - тогда просто присваиваете его соотв. обработчику класса - при вызове будет работать в контексте класса
Если стрелку "просто присвоить соотв. обработчику класса", у нее this будет указывать на контекст в котором она была обьявлена, а не на контекст инстанса класса
Китикет
а с этим кто-то спорит ?
Твое сообщение спорит, я как раз на него и ответил
Ilya
Твое сообщение спорит, я как раз на него и ответил
с чем оно соприт ? что если ты в классе сделаешь свойство (обработчик) и обявишь его как стрелочную функцию - то контекст не надо привязывать ? и это самый простой и верный способ их описывать в классах ?
Ilya
с чем оно соприт ? что если ты в классе сделаешь свойство (обработчик) и обявишь его как стрелочную функцию - то контекст не надо привязывать ? и это самый простой и верный способ их описывать в классах ?
если вы про то что, вопрошающий хочет ее переиспользовать - ну так делаешь "фабрику" функция которая возвращает лямбду - и при инициализации обработчика - вызываешь ее получаешь себе персональную лямбду замкнутую в контекст класса.
Kirill
Добрый день! Стоит достаточно интересная задача, сделать WebApp доступным оффлайн. Для этого я использую сервис воркер. Так как мы используем Реакт, то файлов достатоно много. Чтобы не перечислять из всез, я просто перехватываю все что уходит и приходит при загрузку Приложения. Проблемма в том, что это ФЕТЧ работает только при повторной загрузке приложения. Получается так, что сайт грузится, воркер устанавливается и активируется и начинает "слушать" но слушать уже нечего. При перезагрузке старницы, естественно все стадии пропускаются и он все кеширует. Вопрос: Как закешировать весь вебапп при первичной загрузке?
Kirill
посмотри как в create-react-app сделано
Хорошая идея. Спасибо! Щас гляну
Kirill
а где регистрация воркера происходит?
Если я правильно понял вопрос. Я написал маленький скрипт, который отправляет Push Notifications. Регистрация воркера происходит в нем(push.js). Push.js вставлен в index.html <script src="push.js"></script>
from
Вот так
Название таксе, почему элемент это хук
Alexey
Вот так
я к тому спросил, что, может быть, воркер регистрируется после запуска реакт-приложения, потому и не успевает?
Kirill
Название таксе, почему элемент это хук
Простите, не понял вопроса. Если вы про id, то не я их писал.
Kirill
я к тому спросил, что, может быть, воркер регистрируется после запуска реакт-приложения, потому и не успевает?
Это 99% так. Я замети, что сначала грузится апп, а потом появляется воркер. Вы думаете, сначала грузить воркер?
Anonymous
I had to leave this post here as a sign of gratitude since that, is one of the least he asked of me. From my calculations, I made $5,200 in 1 week trading..since FOREX_OPTION started managing my account,I haven't experienced any regrets in continuing binary options trading, though i lost a lot when I started as a newbie. but since i met him i have always been smiling, i feel so much joy each time i log in daily to see my trade records and balance.. he is indeed a good expert, experience this for your self because action speaks louder feel free to ask me more or contact Michael Goode https://t.me/FOREX_OPTIONS1 @FOREX_OPTIONS1 whats app:+1 (513)6920761 https://t.me/joinchat/AAAAAFhkAIXMZJ3eHlWjBQ https://t.me/joinchat/AAAAAFhkAIXMZJ3eHlWjBQ
Kirill
может тогда вынести регистрацию воркера в не async/defer скрипт в шапку?
Щас попробую, но по идее это должно отложить отрисовку app на некоторые доли секунд. Я прав?
Alexey
Щас попробую, но по идее это должно отложить отрисовку app на некоторые доли секунд. Я прав?
не попал как выглядит регистрация если она синхронная, то пока скрипт не выполнится, страница дальше обрабатываться не будет
Kirill
не попал как выглядит регистрация если она синхронная, то пока скрипт не выполнится, страница дальше обрабатываться не будет
Что то я ступил, у меня вот эта строчка window.addEventListener('load', registerServiceWorker, false); Пока страница не загрузится, воркер не начнет регистрацию. Щас проверю, как это можно исправить
Руслан
Ребят, подскажите как сделать поиск с нечуствительным реестром Чтобы эти значения 0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2 0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2 приложение находило одинаково addresses.includes(address) // Так не работает коректно
Ivan
*регистром Обе строки к lower case
Руслан
Понял спасибо!
Kirill
не попал как выглядит регистрация если она синхронная, то пока скрипт не выполнится, страница дальше обрабатываться не будет
Кратко: Перенес я <script src="push.js"></script> в самый топ хедера и убрал window.addEventListener('load', registerServiceWorker, false); Теперь воркер грузится моментально, но это увеличило общее время загрухки старницы в 2 раза(Вкладка Аудит, Хром девтулс)
Alexey
а работает все с первого раза?
Мира
Кто знает что за SyntheticEvent в тексте?
Виктор
Yury
https://ru.reactjs.org/docs/events.html
Не ну загуглить каждый может 🤔
Виктор
ну так там же все написано 🤷‍♀️ правда на русском так себе
Мира
Не, у меня вопрос почему он там вылезает) По идее до того как я коннект подрубил, все работало иначе Мне возвращался текст, а не незвиданый синтетик
Виктор
у тебя обработчик инпута скорей всего передает эвент в редюсер не вытаскивая значение из эвента
Валентин
Кто-нибудь проходил этот курс? Содержание соответствует описанию? https://www.udemy.com/course/complete-react-developer-zero-to-mastery/
Мира
у тебя обработчик инпута скорей всего передает эвент в редюсер не вытаскивая значение из эвента
Спасибо, нашел ошибку. Из-за лени передавал значение редюсера напрямую черещ пропсы, не делая обертку в компоненте, которую привел выше, Теперь все ок)
Tim
https://codesandbox.io/s/frosty-ride-h88fd. Какой тип сделать в function useOutsideAlerter(ref) у рефа .
Мира
А кто может доходчиво обьяснить как это работает? Прям буквально. Просто если обернуть функцию в функцию, то будет замыкание? Почему без этой бесполезной на первый взгляд обертки будет другой результат?
Dmitry
changetext аргумент принимает? Без обертки это event Вот он и вылез
Мира
А как обертка его делает НЕ евентом? Замыкание?
Dmitry
Ну он ничего не прокинул Го в реакт не зная жс? Там нет замыкания. Просто вызов функции без аргумента
Мира
Ну он ничего не прокинул Го в реакт не зная жс? Там нет замыкания. Просто вызов функции без аргумента
Знаю ЖС, просто вьехать не могу как обертка меняет один и тот же код. Пока я юзал контексты, тип все работало и так) Решил через реакт-редакс, потребовались обертки
Bogdan
Это все реакт головного мозга, вот нужно было жс, потом реакт, а то реакт, потом жс, в итоге куча геморроя