Comments (10)
Промежуточный результат:
- Убрала логику с rememberedPrevRouterParamsRef, потому что такая же логика работает внутри usePrevious.
- Основная проблема: prevRouteParams в какой то момент обновляются лишний раз, поэтому становятся равными routeParams.
- Для сохранения параметров использовала usePreviousDistinct вместо usePrevious. Это решило проблему с вариантами 3, 7, 8. В вариантах 4, 5 проблема осталась. Вариант 6 не смогла воспроизвести.
Еще показалось, что нужно вот такое изменение в проекте:
Но оно не решило никакой проблемы. Но и не сломало ничего. Его я не сохраняла
Все изменения сохранила в репо react ветке routing-bug
Варианты дальнейшего решения:
- Написать свой usePrevious, который будет нормально работать на всех вариантах
- Переписать логику роутинга модалок как нибудь по другому
from react.
Итог:
Кейсы 3, 7, 8 пофикшены в этом pr
Кейс 5 пофикшен в репо проекта Край родной в ветке update_steroids (см. последний коммит)
Кейсы 4, 6 работают некорректно из-за редиректа на страницу not-found в проекте Край родной в файле AudioTextModal.tsx (оставила там туду, как можно пофиксить эту проблему)
@devmartynov Дальнейшие шаги:
- Поставила тебя ревьювером в этом pr, посмотри изменения, прокомментируй если нужно
- Смержить pr с исправлениями в репо react и поднять версию
- Пофиксить проблему с редиректом на страницу not-found в проекте
from react.
На каких тест-кейсах роутинг работает некорректно и в чем заключается некорректность?
я не закончил описание этого ишью. Я добавлю ответственного, когда закончу
from react.
На каких тест-кейсах роутинг работает некорректно и в чем заключается некорректность?
from react.
PR смерджен, а значит, я предполагаю, нужно проверить тест-кейсы на уже исправленном коде.
Кто сможет этим заняться? @devmartynov @Daria-Kuzminykh @Dmitriy-Babiy ?
from react.
PR смерджен, а значит, я предполагаю, нужно проверить тест-кейсы на уже исправленном коде.
Кто сможет этим заняться? @devmartynov @Daria-Kuzminykh @Dmitriy-Babiy ?
я займусь
from react.
я займусь
Примеры некорректной работы
/book/kray-rodnoy/chapter_2
-->/book/kray-rodnoy/chapter_2/dictionary/1
+ x =/book/kray-rodnoy/chapter_2?articleId=1
book/kray-rodnoy/chapter_2
-->/book/kray-rodnoy/chapter_2/audio-text?audioId=2
+ НН =not found
/book/kray-rodnoy/chapter_2
-->/book/kray-rodnoy/chapter_2/audio-text?audioId=2
+ x =/book/kray-rodnoy/chapter_2?audioId=2
/book/kray-rodnoy/chapter_3?test=3
—>/book/kray-rodnoy/chapter_2/audio-text?audioId=3
+ НН =not found
/book/kray-rodnoy/dictionary?chapterId=5
—>/book/kray-rodnoy/dictionary/9
+ x =/book/kray-rodnoy/dictionary?articleId=9
/book/kray-rodnoy/dictionary/1
+ x =/book/kray-rodnoy/dictionary?articleId=1
not found
- это статус из хука useLayout
from react.
@devmartynov это для информации? или от меня по задаче что-либо нужно?
from react.
Я неправильно понял вопрос
Кто сможет этим заняться?
Отнес этот вопрос к тому, что надо проверить тесты на исправленном коде. Поэтому надо снова людей пингануть с этим вопросом:)
Кто может заняться решением проблемы? @Daria-Kuzminykh @Dmitriy-Babiy
from react.
@Daria-Kuzminykh добавился еще один кейс некорректной работы:
- |--> МОК + x
Пример:
|--> /book/kray-rodnoy/chapter_2/audio-text?audioId=2
+ x = /book/:bookName/:chapterId
- Также есть вот такой момент:
ММ --> ММ
То есть это ситуация, когда пытаемся открыть два маршрута(role='modal') одновременно. В этом случае первое модальное окно закрывается.
from react.
Related Issues (4)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react.