Eugene
не понятно, что где должно обновляться
Eugene
в самой апишке moment можно менять дату, в тоже время это уже не управляемый компонент получается
Nikolai
Их много
readOnly={state.isReadOnly}
Eugene
const [date, setDate] = useState(moment()) как мне обновить `date`на 1 день, например?
Anonymous
readOnly={state.isReadOnly}
А стейт в родительском держать типа или ридаксе?
Eugene
<Moment add={{ days: 1 }}>{date}</Moment> можно так, но стейт отсюда не поменяется
Nikolai
ни с какими💃💥💥🍻🍻
Похоже на ошибку выжившего)
rovnyart
rovnyart
пока в этом чате есть АНТИРЕДАКС, готем может спать спокойно
Mihail
rovnyart
а знаете что надо в редаксе держать?
rovnyart
???
A.Shersh
всем привет, подскажите, пожалуйста, как с connected-react-router редиректить на одну страницу если в store есть условие? (если не авторизован пользователь то кидать его на логин всегда)
Eugene
key={date} и пусть ререндерит
у меня есть компонент со стрелочками, который увеличивает или уменьшает на 1 день и также есть компонент Календарь и мне надо это все дело связать
rovnyart
НИЧЕГО
Eugene
key={date} и пусть ререндерит
то есть когда я нажимаю на стрелочку, у меня обновлялся стейт и пропсы новые приходили в календарь
Aleksey
ребята, вопрос по редаксу. при нажатии на кнопку, у меня отправлется запрос на сервер и в стор приходят данные. куда мне можно в компоненте записать функцию, которая сработает когда данные придут?
Eugene
чтобы там тоже обновлялось
A.Shersh
<Redirect/> если в рендере или history.push
Окей, спасибо походу фигово разобрался в роутере самом(хотя вообще пока еще плохо разбираюсь xD), думал как-то надо оборачивать какимто мидлваром все экшены routera )
rovnyart
<Redirect/> если в рендере или history.push
что же ты такое советуешь) почему не dispatch history push?)
rovnyart
а я за тебя отвечу
Nikolai
Окей, спасибо походу фигово разобрался в роутере самом(хотя вообще пока еще плохо разбираюсь xD), думал как-то надо оборачивать какимто мидлваром все экшены routera )
connected-react-router это просто обёртка над react-router которая зеркалит изменения location в редакс. Вам это вообще возможно не нужно в сторе и лучше взять голый реакт роутер
rovnyart
потому что редакс - дно
A.Shersh
ну хотелось бы какое-то общее решение просто
Eugene
render() { const date = new Date(); return ( <div> <Moment add={{ hours: 12 }}>{date}</Moment> </div> ); } здесь все понятно, date меняется, но как мне этот измененный date передавать в другой компонент?
A.Shersh
чтобы в любом случае если у нас в сторе не лежит юзер мы шли на страницу логина, откуда бы мы не зашли, и даже при клике на back в самом браузере
rovnyart
потому что тут явно нужны локал сторедж и куки
Mihail
упс кажется тут кто-то обосрался, ой пожождите, это же РЕДАКС
Не так агрессивно, а то можно словить бан
Anonymous
Ребят, в чем проблема может быть? При npm start в cra бесконечно грузит страницу
Anonymous
A.Shersh
я тут месяц реакт изучаю поэтому сорян если туплю, но по идее как-то мидлваром как я уже писал можно обернуть все обращения к роутеру в которых чекать авотризацию и редиректить на логин если false?
Anonymous
Всё скомпилировалось правильно, но страница не грузит
A.Shersh
а то загнался я чето
A.Shersh
а чего редакс дно то? у всего есть минусы, но чтобы прям дно
Nikolai
вот походу это мой вариант покамись))
Ну это если админка какая нибудь в которой нет страниц показываемых без авторизации. Это даже до роутера проверить можно. А если логика сложнее то с редиректами работать придётся, да
Anonymous
Есть
Eugene
https://codesandbox.io/s/rough-brook-hqcwb накидал пример свой здесь, моя задача: чтобы по клику на кнопки (лево, право) менялся выбранный день в календаре
A.Shersh
Ну это если админка какая нибудь в которой нет страниц показываемых без авторизации. Это даже до роутера проверить можно. А если логика сложнее то с редиректами работать придётся, да
окей спасибо, буду курить доки :). Раз уж сюда зашел, хотел еще спросить у знающих людей, если мы юзаем редакс то стейт в контейнерах вообще лучше не юзать? типа плохая практика? с теми же формами, нам надо каждое нажатие долбить через редакс (можно через рефы, да, но нет)?
A.Shersh
В редакс стейт данных уровня приложения (например залогинен ли юзер), в локальном стейте - все остальное
Окей, спасибо. А то почему то появилась в голове мысля что все-все в стор надо, а юзать локальный стейт плохо, хорошо что это не так))
Dan
Dan
Привет. Я совсем новенький в тайпскрипте и хотелось бы попросить помощи у тех, кто умело использует его с redux и знает, что такое store shape normalization. Я получаю посты с сервера и очевидным образом normalize'ую их. Я немного не могу понять, в props компонента в приложении я вывожу в итоге byId и allIds как отдельные две пропсы или не миксую их и оставляю в одном объекте как в интерфейсе на скриншоте?
Van
Привет всем. Ищу книгу Ari Lerner Fullstack React , может у кого есть последняя редакция?
Андрей
В идеале отказаться от локального стейта в принципе.
Александр
В идеале отказаться от локального стейта в принципе.
Дропдаун открыт/закрыт тоже в Глобал стор?
A.Shersh
В идеале отказаться от локального стейта в принципе.
ну у меня такая мысль и была учитвая то что я читал и смотрел, но по логике не все надо выносить в стор
Александр
Да.
Круть, спорить нет времени увы:) но я не согласен
A.Shersh
ну по крайней мере мне такой подход не импонирует...
A.Shersh
тот же выше упомянутый дродаун
A.Shersh
или какая угодно моргалка, которая ну блин, ну никак не должна влиять на другие компоненты, когда ну совсем ты уверен что по этй части врядли перепишут тз, зачем поднимать этот стейт в общий стор?
A.Shersh
но тут другой момент что какойнибудь дочерний компонент в пятом колене тоже должен видеть эту моргалку... короче я пока тут новенький особо не шарю
Mihail
https://www.youtube.com/watch?v=O5Ijg_wxEqU&list=PLvTBThJr861wYlwBaaMy3tZUWpUvtJ9xE&index=3
A.Shersh
Наверное придерживаться глухого подхода к чему либо глупо, и стоит подумать иногда, чем тупо юзать бест практис
Андрей
Наверное придерживаться глухого подхода к чему либо глупо, и стоит подумать иногда, чем тупо юзать бест практис
Отказаться от локального стейта != хранить все данные в ОБЩЕМ сторе. Данные могут быть во внешнем сторе.
A.Shersh
хранить всё в сторе это ни разу не бест практис
я это сказал обощено, тем не менее я думаю есть люди которые считают так
Андрей
И практикой доказано, что разделение view и логики удобнее как с точки зрения разработки, так и с точки зрения тестируемости.
A.Shersh
Отказаться от локального стейта != хранить все данные в ОБЩЕМ сторе. Данные могут быть во внешнем сторе.
вот до этого честно говоря еще не дошел, т.е. редакс позволяет делать сторы в сторах?
Александр
Отказаться от локального стейта != хранить все данные в ОБЩЕМ сторе. Данные могут быть во внешнем сторе.
Хорошо, но все равно не понятно зачем? Можете объяснить какие проблемы это решает?
Андрей
вот до этого честно говоря еще не дошел, т.е. редакс позволяет делать сторы в сторах?
Редакс не единственный стейт менеджер. Я использую свой effector-like стейт менеджер.
Александр
Я могу нормально протестировать компонент.
Не вижу проблем, с тем же дропдауном
Андрей
Не вижу проблем, с тем же дропдауном
Расскажите как вы будете тестировать компонент.