🦜
Size: a a a
🦜
🦜
🦜
S
ЕД
onRouteChangeComplete
, понимая что произошел переход.S
ЕД
shortid
для генерации key, но он вроде как сам по себе не меняется при ререндеринге. Значит загнать его в переменную и при unmount сбрасывать? Просто не во всех случаях мне надо этот state сбрасывать, не при всех изменениях useState,а только при вызове роутера.S
S
ЕД
useEffect - if variable not null - setState(variable)
но действия ведь асинхронные и монтирование не всегда происходит тогда, когда уже запустился Router event. или наоборот. Что странно, поскольку на 1 странице работает нормально, но вот взяв свой же код на другую страницу - вызывается одна быстрее другой, но не всегда, дебажил через timestamp.S
ЕД
S
?refresh=true
let { query } = useRouter()
useEffect(() => {
if (query.refresh) {
// update/clear state here
}
}, [query])
A
ВЛ
ВЛ
?refresh=true
let { query } = useRouter()
useEffect(() => {
if (query.refresh) {
// update/clear state here
}
}, [query])
ВЛ
S
ВЛ
S