Eugene
а стейт всегда 2
Lena
Ребята, посдскажете новичку - есть список карточек, данные для которых приходят с сервера. Каждую карточку полльзователь может добавить избранное, (без перезаписи в сервер) и при обновлении страницы, избранные карточки сохраняются избранными
Китикет
Почему-то после 1 раза сначала начинает ставится 2, а потом сразу 1
Lena
Что хотя-бы погуглить?
Cenator 🐈
Дойду до компа посмотрю
Eugene
<Link to={`/candidates/${id}`} onClick={handleClickLink}> <ListItemText primary={`${name} ${surname}`} /> </Link> <Switch> <Route path="/candidates" component={CandidatesPanel} /> <Route path="/candidates/:id" component={CandidateProfile} /> <Redirect to="/tasks" /> </Switch> как думаете, почему роут не срабатывает? url меняется, но компонент не перерисовывается
Mihail
Возможно
Mihail
match.params.id
Mihail
А не редирект
Eugene
я разобрался)
Eugene
порядок не тот)
Eugene
спасибо
Карамультук
порядок не тот)
ну или exact на первом роуте тоже бы помог наверное
Eugene
ок
Mihail
<Route render={() => <Smth />} />
Akmal Usmonov
Hi all
Akmal Usmonov
I need help
Akmal Usmonov
Is it ok if I speak english here?
Eugene
<Route render={() => <Smth />} />
да, чтобы пропсы сразу передавать
Anonymous
Привет. SSR и данные, которые рендерятся динамически в зависимости от данных с бэка. Как тут эта штука работает?
Cenator 🐈
🦜
я забанен в цсс чатике. Подскажите, как можно замутить без жс поведение выбраного элемента. Я думал через :active можно, но не совсем то выходит
Eugene
:focus ?
🦜
:focus ?
ну это надо tabIndex накинуть?
artalar
я забанен в цсс чатике. Подскажите, как можно замутить без жс поведение выбраного элемента. Я думал через :active можно, но не совсем то выходит
Что значит “поведение”? Через чекбоксы можно можно сделать практически что угодно, но не просто
Eugene
🤔попахивает не семантичной версткой
🦜
я могу все через жс сделать, но интересен вариант через цсс
Eugene
накидывать актив класс?:D
🦜
🤔попахивает не семантичной версткой
ну это компонент монитора
pa[aad
всем привет, есть приложение на react, собираем в докере, делаем NODE_ENV=production, ставим зависимости npm ci и билдим через react-scripts build в итоге react-scripts build not found, нету его в node_modules если другой env кроме production, то все хорошо и билдится
🦜
yarn build
pa[aad
В devDependencies нужно писать зависимости, от которых не зависит сборка
да если бы я это писал, я вообще фронт не пишу, что мне все devDependencies добавить в dependencies ?
pa[aad
yarn build
not found тоже, react-scripts лежит в devDependencies
pa[aad
ок
pa[aad
тогда просит typescript
Nikolai
Короче вам проще сбилдить сначала со всеми dev пакетами npm I && npm build а потом почистить что нужно
Eugene
<Link to={{ pathname: `/candidates/${id}`, query: { name: "name", age: 10 }, }} onClick={handleClickLink} > Link </Link> подскажите, как передать query при нажатии на link, такой вариант не работает
Eugene
history.push
c линкой ведь тоже должно как-то работать
Nikolai
c линкой ведь тоже должно как-то работать
Посмотри в доке, я хз. Через history.push точно можно
Anton
Всем привет. Помогите пжлст разобраться с очередностью при загрузке страницы. У меня не загружается актуальная информация из стейта при первой загрузке страницы (он загружает старые данные). Если после первого захода обновить страницу, то тогда покажет актуальную информацию. Почему так происходит? Использую хуки. На скрине - команда в стейте Marketing и ее надо показать в форме. Но вместо этого там подставляется прошлая команда - Sales. Вот код: const [formData, setFormData] = useState({ department: '', selectedOption: [] }); useEffect(() => { getTeamById(match.params.id); getCompanyProfiles(); setFormData({ department: !team ? '' : team.name, selectedOption: !profiles ? '' : teamProfiles }); }, [loading, getTeamById, getCompanyProfiles]);
Yury
ты ввел новое название, нажал edit и подставилось старое ?
Anton
ты ввел новое название, нажал edit и подставилось старое ?
нет, я в общем списке отделов, выбрал нужный отдел - кликнул на него, чтобы отредактировать - перешел в сам отдел, а там подставляется название другого отдела (который я до этого посещал).
Anton
что за team?
team - название отдела в стейте компании
Yury
смотрел, у тебя useEffect вызывается, когда ты открыл уже другую компанию ?
Anton
смотрел, у тебя useEffect вызывается, когда ты открыл уже другую компанию ?
да, useEffect вызывается только на странице редактирования (не в общем списке компаний)
Yury
так team ты же не отслеживаешь
Eugene
и вообще, eslint для хуков должен показать, каких deps не хватает
Oleg
🤔 а что не react-redux v7?
как ты это определил?
Anton
так team ты же не отслеживаешь
то есть как я понимаю, useeffect сейчас не обновляет данные, а подставляет от старой компании. useEffect(() => {...}, [loading, getTeamById, getCompanyProfiles]); - по идеи getTeamById - обновляет в стейте team и его я отслеживаю. Но когда я ставил отслеживать вместо него team, вот так: useEffect(() => {...}, [loading, team, getCompanyProfiles]) то начинался беспрерывный цикл... он в редаксе каждую секунду обновлял team
Oleg
team в зависимостях нет. это значит, что в useEffecte team всегда старой валье имеет.
Aleksey
ребята вот так подключил хистори к роутеру, и все равно хистори пуш только меняет url: import createBrouserHistory from "history/createBrowserHistory" const history = createBrouserHistory(); <BrowserRouter history={history}>
Anton
team в зависимостях нет. это значит, что в useEffecte team всегда старой валье имеет.
но если ставлю team, то начинается жесть. Он не прекращает обновлять стейт
Aleksey
history.push('/Login')
Eugene
props.history.push вроде над
Китикет
history.push('/Login')
Откуда history взял
Китикет
Ты же его не экспортируешь
Aleksey
я его экспортировал из того места где подключаю к роутеру
Китикет
И кстати надо не BrowserRouter
Китикет
А обычный Router
Aleksey
time is the side effect- от души) помогло) когда поменял на просто роутер