steroids / react Goto Github PK
View Code? Open in Web Editor NEWSteroidsJS core library
License: MIT License
SteroidsJS core library
License: MIT License
Доброго времени суток! Как добавить свои reducers в useApplication, где-то есть подробный пример?
Подробное описание: https://gitlab.kozhindev.com/steroids/dev/-/issues/671
Имеется следующий конфиг роутера:
Для отображения роутов используется компонент Tree
Роуты в нем отображаются корректно, однако без указания exact: true для ROUTE_MENU и ROUTE_CONTENT при переходе на дочерние роуты ROUTE_CONTENT получаем ошибку
В процессе выяснил, что это из-за того, что роутер пытается отрендерить ROUTE_MENU и ROUTE_CONTENT, а для них не указаны path и component. Но это контейнеры для набора других роутов и они не должны рендериться. Указание exact: true для них является скорее нелогичным хаком роутера, так как этот параметр отвечает за то, чтобы рендерить роуты только когда текущий path равен path роута, а для этих роутов path не указан. Указание только path приводит к другой проблеме - дочерние роуты не рендерятся.
Мне кажется нужно учесть роуты подобного вида и не пытаться их рендерить, если у них нет component, но есть дочерние items
МО - обычный маршрут. Маршрут в конфигурации которого не указано поле role
либо не является одним из значений 'login' | 'modal' | '404'
МОК - МО, но в url
которого есть квери параметры. Пример: /book?page=3
ММ - маршрут-модалка. Маршрут в конфигурации которого есть поле role='modal'
ММК - ММ, но в url
которого есть квери параметры. Пример: /book?page=3
НН - нажатие на системную кнопку "Назад" в браузере
--> - переход на маршрут. Пример: --> МО следует читать как "переход на обычный маршрут"
|--> - начальная загрузка. Аналог перезагрузки страницы.
+ - показывает последовательность действий. Пример: |--> МО + --> ММ + НН следует читать как "Загрузка страницы на обычном маршруте, затем переход на маршрут-модалку, затем нажатие на системную кнопку 'назад' в браузере"
x - закрытие модального окна
/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
+ x = /book/kray-rodnoy/chapter_2?audioId=2
/book/kray-rodnoy/dictionary?chapterId=2
--> /book/kray-rodnoy/dictionary/1
+ x = /book/kray-rodnoy/dictionary?articleId=1
Некорректная работа заключается в том, что после закрытия ММ либо ММК в родительский маршрут попадают ненужные квери параметры либо удаляются нужные квери параметры и добавляются ненужные. Исправление может сказываться на других тест кейсах, поэтому после исправления некорректной работы крайне желательно проверить пройтись по всем тест кейсам и убедиться в корректности работы(желательно тестами).
Связанный PR. В рамках этого MR было сделано исправление, которое сказывается на работе других тест кейсов. А именно стали некорректно работать пункты: 12, 13
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.