Bogdan
アレクサンダー・バキマトフ
тю бле, у тебя в рендере вызывается изменение стейта а то поивод к рендеру и так по кругу
Daniil
да покажи контекст где вызываешь
Bogdan
тю бле, у тебя в рендере вызывается изменение стейта а то поивод к рендеру и так по кругу
да, серьездно? я же не вижу, тогда почему верхний вариант работает, а нижний нет? дай ссылку, где написано про обьект в доке
アレクサンダー・バキマトフ
да, серьездно? я же не вижу, тогда почему верхний вариант работает, а нижний нет? дай ссылку, где написано про обьект в доке
покажи свой юзэффект где ты вызываешь изменение стейта которое к ошибке приводит
アレクサンダー・バキマトフ
а где юзэффект про который говорил?
Bogdan
покажи свой юзэффект где ты вызываешь изменение стейта которое к ошибке приводит
вот скрин, тут нету юзефекта, тут вот два варианта написания, но со вторым ошибка, я хочу найти в доке про это, но не могу, и не понимаю, почему ошибка
Bogdan
если может не понятно, это не два вызова сразу, (это пример двух разных вызовов), поясние плес, я не могу
Daniil
ты в рендере стейт меняешь?
Bogdan
ты в рендере стейт меняешь?
да, мне нужно в рендере, в Query по другому нельзя, хука нету
Bogdan
со ссылкой на обьект связано может быть?
Anton
Всем привет! Помогите пжлст найти ошибку. Очень прошу🙏 Уже неделю не могу разобраться - сломался деплой. Проблема: при деплое на хероку запускается build скрипт для компилирования реакта. Но стала выскакивать ошибка: TypeError: Cannot read property 'name' of null at Array.filter (<anonymous>) - но по факту в редюсере нет никакой переменной name и с бекенда тоже не приходит name - при этом если запускаю локальный сервер, то все работает и нет никакой ошибки - и в этот редюсер я не вносил правки 2 месяца, деплоил и все было ок, но неделю деплой перестал работать из-за этой ошибки Вот скрин редюсера alert. Проблема, как понимаю при remove alert. Из action в него приходит такой пейлоад dispatch({ type: SET_ALERT, payload: { msg, alertType, id } }); setTimeout(() => dispatch({ type: REMOVE_ALERT, payload: id }), 3000); То есть по факту в редюсер приходит только id в сценарии REMOVE_ALERT. Нет никакого name. Что это за name и как можно решить эту проблему? И что самое главное, поче
🦜
Всем привет! Помогите пжлст найти ошибку. Очень прошу🙏 Уже неделю не могу разобраться - сломался деплой. Проблема: при деплое на хероку запускается build скрипт для компилирования реакта. Но стала выскакивать ошибка: TypeError: Cannot read property 'name' of null at Array.filter (<anonymous>) - но по факту в редюсере нет никакой переменной name и с бекенда тоже не приходит name - при этом если запускаю локальный сервер, то все работает и нет никакой ошибки - и в этот редюсер я не вносил правки 2 месяца, деплоил и все было ок, но неделю деплой перестал работать из-за этой ошибки Вот скрин редюсера alert. Проблема, как понимаю при remove alert. Из action в него приходит такой пейлоад dispatch({ type: SET_ALERT, payload: { msg, alertType, id } }); setTimeout(() => dispatch({ type: REMOVE_ALERT, payload: id }), 3000); То есть по факту в редюсер приходит только id в сценарии REMOVE_ALERT. Нет никакого name. Что это за name и как можно решить эту проблему? И что самое главное, поче
не побоюсь этого слова... redux...
Andrey
Ребят, как то можно установить ограничение по квоте для хрома для indexeddb?
Карамультук
Всем привет! Помогите пжлст найти ошибку. Очень прошу🙏 Уже неделю не могу разобраться - сломался деплой. Проблема: при деплое на хероку запускается build скрипт для компилирования реакта. Но стала выскакивать ошибка: TypeError: Cannot read property 'name' of null at Array.filter (<anonymous>) - но по факту в редюсере нет никакой переменной name и с бекенда тоже не приходит name - при этом если запускаю локальный сервер, то все работает и нет никакой ошибки - и в этот редюсер я не вносил правки 2 месяца, деплоил и все было ок, но неделю деплой перестал работать из-за этой ошибки Вот скрин редюсера alert. Проблема, как понимаю при remove alert. Из action в него приходит такой пейлоад dispatch({ type: SET_ALERT, payload: { msg, alertType, id } }); setTimeout(() => dispatch({ type: REMOVE_ALERT, payload: id }), 3000); То есть по факту в редюсер приходит только id в сценарии REMOVE_ALERT. Нет никакого name. Что это за name и как можно решить эту проблему? И что самое главное, поче
Если ты уверен, что проблема именно здесь (то есть ты пробовал выкинуть/отключить эту часть кода совсем и без нее все норм билдится), то может быть что-то с бабелем и конкретно конструкцией [...something]?
Ilia
Ребят,observables круть?Стоит изучить?
Ilia
Да, да
Спасибо!)
Aleksei
стоит ли оборачивать styled-componets в React.memo, например кнопки, чебоксы, поля ввода и т.д. или лучше оборачивать в React.memo компоненты которые их используют?
Dima
кто заливал проект на git-pages с BrowserRouter?
Anonymous
А кто админ @javascript_jobs
Zaff
привет, я уверен что вы меня польете дерьмом, но вопрос такой. Как мне в orderTotal взять его текущее значение и добавить к нему product.price?
Igor
А кто админ @javascript_jobs
В списке участников же видно
Anonymous
В списке участников же видно
Мне туда не войти, забанили давно за что-то, хочу связаться
Zaff
мало конеткста для ответа. Откуда берется orderTotal?
так, я делал по видео и не совсем понимал) пойду узнавать где он изначально объявлен
Ilia
Ребят,вы юзаете библиотеку rxJS?
Ruslan
кто заливал проект на git-pages с BrowserRouter?
Только HashRouter будет работать
N
чуваки имеется ли возможности использовать условия внутри тега: <span {value.selected && "sort-item-active" } key={key}>{value.sortByName}</span>
Roman
ну тогда className будет пустым?
да, ничего страшно. в дом оно не попадет пустым
Екатерина
const handleUnload = event => { event.preventDefault(); if (isFormDirty) { event.returnValue = LEAVE_PAGE_MESSAGE; } else { return null; } }; useEffect(() => { window.addEventListener('beforeunload', handleUnload); }); useEffect(() => { return () => { window.removeEventListener('beforeunload', handleUnload); }; }, []); React Hook useEffect has a missing dependency: 'handleUnload'. Either include it or remove the dependency array react-hooks/exhaustive-deps
Екатерина
Подскажите как пофиксить))
Roman
Подскажите как пофиксить))
вроде ж написано, как пофиксить
Екатерина
После добавления в массив просит обернуть в useCallback Но не поняла как именно
Roman
ну тогда className будет пустым?
можешь сначала сделать выше const props ={} а в тег его <span {...props} />
Ruslan
почему?
если использовать, как есть, то BrowserRouter не будет работать, надо добавить basename prop
N
можешь сначала сделать выше const props ={} а в тег его <span {...props} />
А это имеет смысл? если первый вариант не страшен?
Екатерина
Выше
Roman
А это имеет смысл? если первый вариант не страшен?
не имеет, потому и предложил сразу первый) разница только в визуальной составляющей, многим не нравятся условия в пропсах прям, а некоторым не нравится {...props} потому что не видно, что там внутри вкусовщина короче
Igor
А, туплю
Roman
А это имеет смысл? если первый вариант не страшен?
ну вообще именно для className не имеет, а если там например проп, у которого undefined и false - разные вещи, то тогда через ...props
Anton
Если ты уверен, что проблема именно здесь (то есть ты пробовал выкинуть/отключить эту часть кода совсем и без нее все норм билдится), то может быть что-то с бабелем и конкретно конструкцией [...something]?
да, я пробовал отключить полностью этот кусок кода - и все равно выдает эту ошибку, даже если reducer/alert полностью пуст и его никто не вызывает. А что можно посмотреть бабеле, чтобы проверить? Не могу найти конструкцию [...something]
Карамультук
Тимофей 🛴
Подскажете?)
Нужно добавить handleUpload в зависимости эффекта, тоесть во второй аргумент, в массив. И еще нужно отписываться от события внутри возвращаемой из эффекта функции, не внутри другого useEffect
Daniil
Блять ну ведь реакт пишет что сделать, я наверно не понимаю что - то
i
Всем привет. Есть компонент страницы, компонент списка юзеров и компонент юзера, первый и последний подключены к редакс. Почему-то после изменения состояния юзера в списке компонентов в рахнилище то биш ьон меняется, но у дочернего компонента не происходит перерендера
Тимофей 🛴
После добавления в массив просит использовать useCallback для handleUnload
Используй, потому что без него у тебя каждый рендер будет эффект запускаться
i
ну хотя у меня дочерние компоненты так собираются, но до подключения к редаксу перерендер проходил
Тимофей 🛴
Можешь подсказать как в коде?
const handle = useCallback(тут логика твоей функции, тут зависимости) useEffect(()=>{ addListener(“event”, handle); return ()=> removeListener(“event”, handle) }, [handle]) В доках прям все это есть, и на русском, перечитай
i
list compoment и его использование
Ivan
list compoment и его использование
что должно приходить из редакса?
i
приходит список юзеров, он меняется и это видно, но почему-то списки компонентов не переподгружаются
i
ттак стало, когда я у дочернего элемента коннект к редаксу подключил
Ivan
ттак стало, когда я у дочернего элемента коннект к редаксу подключил
ну так посмотрите приходит ли новый список юзеров в рендер, и приходит ли дальше в компонент
i
в родителя(users ) новый список приходит, но у дочерних компонентов обнолвение не срабатывает
Ivan
в родителя(users ) новый список приходит, но у дочерних компонентов обнолвение не срабатывает
честно скажу в упор вижу только то что код-стайл мягко говоря крайне спорный, и я бы пересмотрел целесообразность такой абстракции как listComponent, возможно это решит конкретную проблему и десятки последующих проблем
Timoschenko
ребят, а как можно добавить данные в начало массива что бы при рендере оно не уезжало/скролило ?
Timoschenko
это вообще возможно ?
Natalya
ребят, а как можно добавить данные в начало массива что бы при рендере оно не уезжало/скролило ?
Создать новый массив, вставить новый элемент, склеить со старым. Кажись так
Timoschenko
это понятно. Оно уезжает из вида. Тоесть, был, к примеру элемент 5 по середине экрана, но после вставки новых элементов оно уходит вниз
i
проблема в том, что даже при классическом сборе компонеентов послерендера не происходит у дочерних компонентов, ток в родителе обновление происходит
Aleksei
нет
а почему нет, можно подробнее?
Timoschenko
ребят, а как можно добавить данные в начало массива что бы при рендере оно не уезжало/скролило ?
Я пробовал, отлавливать момент до вставки новых элементов, и потом после ререндера, быстро скролить до старого элемента. Оно работает, но видны рывки, как то не очень
Timoschenko
вот, к приеру Телега, у нее нету таких рывков. и можно плавно скролить вверх, и элементы которые подгружаются, никак не дергают экран и не сбивают скрол юзера