Alex
Доброй ночи, подскажите плиз - у меня ошибка при написании react контрола. пробую так же как и в родной библиотеке подключить core-js. Module not found: Error: Can't resolve 'core-js/library/fn/array/includes'... при этом когда я перехожу через ctrl у меня открывается d.ts файл с нужным полем но при билде через вебпак - ошибка подскажите плиз в чем может быть причина - использую webpack , babel
Frontend Priest
Дядьки кто-то прикручивал модульный css в вебпаке?
так же, как и обычный, только нужно поставить флажок modules: true в опциях лоадера
Alexander
В useEffect нельзя возвращать ничего кроме функции. А есть какой-то способ остановить его выполнение?
Alexander
Или просто поместить функцию эту в переменную и всегда её возвращать, когда надо остановить исполнение. Смотрится криво, но работает.
Arthur
может кто-то объяснить, почему под dev билдом некст клики не хендлит ?
Vyacheslav
может кто-то объяснить, почему под dev билдом некст клики не хендлит ?
Сам алерт вприципе блокирует экран, клики не срабатывают, если и после алерта не возникают некст клики, попробуй замени алерт на консоль лог, возможно специфика алерта такая, Вряд-ли это зависит от откружения
Arthur
Сам алерт вприципе блокирует экран, клики не срабатывают, если и после алерта не возникают некст клики, попробуй замени алерт на консоль лог, возможно специфика алерта такая, Вряд-ли это зависит от откружения
Это из-за окружения. Не работают браузерные события. Да и я понимаю блокировку, если алерт показался, так он даже не показывается В продакшн билде всё ок
Arthur
ещё раз повторю: алерт не виноват. метод даже не вызывается
Arthur
там и console.log был, и document.body.innerHTML, и работа с хуками, и куча всего другого
Vyacheslav
там и console.log был, и document.body.innerHTML, и работа с хуками, и куча всего другого
Тогда оч странно, покопайсч в бандле, попробуй найти там этот адевентлистенер, или попробовать взять в браузере у кнопки этот листене, посмотреть есть ли он вообще
Arthur
просто он не вызывается в продакшн-билде вызывается ставил и next@latest, и next@canary
Vyacheslav
Есть
Как это вообще мб, есть но не вызывается, как вариант доскональнее проверить, что конкретно у кнопки есть хендлер, попробовать стригерить его через консоль, первый раз слышу такую штуку
Arthur
я бандл уже вдоль и поперёк прошарил. код генерится правильный
Arthur
собственно, если бы я знал, как такое возможно, то не спрашивал бы :)
Vyacheslav
я бандл уже вдоль и поперёк прошарил. код генерится правильный
Программно хендлер тригерится, попробуй, если нет то я бы пошёл свечку поставил, мало ли
Arthur
Чувак, ну ты меня слышишь ? Не триггерится там ничего
Филипп
Доброе утро, ребят кто пользуется propTypes - можно ли при использовании функционального компонента, использовать это дело внутри функции, чтоб не именовать её и не писать валидацию пропсов внизу? Если я юзаю класс то можно написать static, а вот как быть с функциональными компонентами?
Филипп
const Penis = () => {} Penis.propTypes = {}
Это я и так знаю. Я о том чтоб не пришлось именовать функции и не писать важную информацию о типах внизу файла(под функцией)
Филипп
В классе можно сделать так.
Филипп
В функциональном компоненте есть возможноть писать это дело внутри функции ?
Илья
Использую Material UI и там есть Link компонент, так же мне надо использовать Link для роутера, можно как-то их использовать вместе ? У меня ошибка импорт 2х одинаковых переменных
Roman
Oo
ну смотри, если все писать констами и стрелками, то получается, что сверху файла кишки, снизу - то за чем ты пришел импорты сверху, экспорты и API снизу
Vadim
Это я и так знаю. Я о том чтоб не пришлось именовать функции и не писать важную информацию о типах внизу файла(под функцией)
const propTypes = {} const Comp = (props) => {} Comp.propTypes = propTypes Вот так вверху «важная информация»
Филипп
Есть проблема с именованием функций какая-то?
Да просто не хочу это делать, в классе же у меня есть такая возможность)
Vadim
Да просто не хочу это делать, в классе же у меня есть такая возможность)
А как ты пишешь функциональные компоненты? Ты их не именуешь?
Филипп
А как ты пишешь функциональные компоненты? Ты их не именуешь?
Просто export default function. Именную в родительских компонентах
Eugene
default экспорты плохо
Dmitriy
default экспорты плохо
Пытался я это во вью чатике сказать)
Филипп
default экспорты плохо
Почему плохо?
Dmitriy
Почему плохо?
По многим причинам, например a.js import Text from 'Button.js' b.js import Input from 'Button.js'
Daniil
Почему плохо?
Ну для начала какой будет нейминг у компонента в реакт дев тулз с таким?
𝕍𝕝𝕒𝕕
так же, как и обычный, только нужно поставить флажок modules: true в опциях лоадера
Я так понял оно в конечном итоге со всех компонентов склеивает в один цсс?
Филипп
По многим причинам, например a.js import Text from 'Button.js' b.js import Input from 'Button.js'
Если тебе нужно несколько импортов сделать из одного файла, делай их не дефолтными... Да и вроде как можно дефолтные с обычными совмещать. Или ты о том что есть возможность назвать один и тот же модуль по разному в разных компонентах?
Dmitriy
Как результат проблемы с тряской_дерева
Филипп
Как результат проблемы с тряской_дерева
"проблемы с тряской_дерева" это как ?
Филипп
Ну для начала какой будет нейминг у компонента в реакт дев тулз с таким?
Понятия не имею, могу лишь только предполагать. P.s. У Vue.js тоже есть свой devtols, и там с этим проблем не было))
Филипп
@Tchernyavsky пожалуй тут соглашусь))
Anonymous
Ребят, бывает такое что при запуске сервера через cra, при сохранении файла он не реагирует на изменения не и не компилит заново. Приходится перезагружать комп и тогда всё работает. Вопрос как решить эту проблему?
Anonymous
Должна же какая то причина быть раз перегрузка компа помогает
Vyacheslav
Использую Material UI и там есть Link компонент, так же мне надо использовать Link для роутера, можно как-то их использовать вместе ? У меня ошибка импорт 2х одинаковых переменных
Если ещё не разобрался, то во первых ты можешь использовать алиасы при и портах а вот вторых юзать дефолтный импорт с любим именем
Юрий
Всем привет! может кто-то может подсказать, как на redux saga реализовать такой код ? Может пример какой-то...
Anonymous
Забей в гугле вебпак дазнт вотч, там будет решение по увеличению количества памяти для вотчеров, довольно частая проблема
Спасибо, помогла такая команда echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
El
Можно в React + Redux приложении в action creator делать так? import { GET_DAILY_BTC_SUCCESS, ... ... ... } from './types'; import { getDailyToUsd, getHourlyToUsd, getMinuteToUsd } from '../api/cryptocompare'; import { setError } from './error'; export const getDaily = (fsym = 'BTC') => async dispatch => { try { const list = await getDailyToUsd(fsym); dispatch({ type: `GET_DAILY_${fsym}_SUCCESS`, list }); } catch(err) { dispatch(setError(err.Message)); } }; Вопрос о type внутри dispatch в const getDaily. Там вместо строковой константы template строка.
El
У меня thunk.
El
Решил спросить совета, WebStorm при импорте строковых констант для типов видит их не использованными далее в коде.
Dmytro
Так ты в этом коде их и не используешь
El
Логично. Надеюсь, reducer'ы воспримут их адекватно.
El
Если любопытно или будет, что сказать, код на https://pastebin.com/QWr6mHv8. Пеpвым там api, затем action creator.
El
Одинаковый type в dispatch исправил.
Anonymous
Ребят, чет не могу понять в чем проблема. Вывожу переменную в консоль, выводится как string. Вывожу typeof этой же переменной следующей же строкой - пишет object. В чем дело?
Anonymous
Сама переменная
Anton
Первый раз выводится как массив же, а не строка, все правильно. Массив это объект.
${username}
Сама переменная
массив строк все нормально
Bogdan
Я тем у кого саги тоже соболезную, и вообще, тем кто с ридаксом
Bogdan
Почему санки или почему не ридакс?
Sergey
Эффектор проще и лучше
Bogdan
Лол, ну саги и санки очевидно, что санки проще, ридакс нужно ещё настроить, он ничего не умеет сам, как бы вывод очевиден
Sergey
Апи позволяет заменить саги без дополнительного пакета, не нужна мемоизация и селекторы, зависимые сторы из коробки, не нужны combineReducers
Sergey
Ну и собственно весит меньше чем ридакс со всем обвесом
Sergey
А апи гораздо проще позволяет писать логику в одном файле, нежели размазывание логики по редюссерам, санкам, селекторам, контейнерам
Bogdan
ну это ошибка
Sergey
github.com/howtocards/frontend Можешь посмотреть по истории коммитов, проект переписан с ридакса на эффектор
Sergey
По тегам тоже: https://github.com/howtocards/frontend/releases/tag/v0.5.0