Skip to content

Commit

Permalink
Merge pull request #189 from steroids/fix_router_params
Browse files Browse the repository at this point in the history
v3.0.0-beta.74 fix router params
  • Loading branch information
Daria-Kuzminykh committed Aug 28, 2023
2 parents ab1e01c + 7d6c3c8 commit 73a0b53
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@steroidsjs/core",
"version": "3.0.0-beta.73",
"version": "3.0.0-beta.74",
"description": "",
"author": "Vladimir Kozhin <hello@kozhindev.com>",
"repository": {
Expand Down
15 changes: 9 additions & 6 deletions src/ui/nav/Router/Router.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ import {HashRouter} from 'react-router-dom';
import {ConnectedRouter} from 'connected-react-router';
import _get from 'lodash-es/get';
import _isEqual from 'lodash-es/isEqual';
import _isArray from 'lodash-es/isArray';
import _isObject from 'lodash-es/isObject';
import {useEffect, useMemo, useState} from 'react';
import {useEffect, useMemo, useRef, useState} from 'react';
import {useEffectOnce, usePrevious, useUpdateEffect} from 'react-use';
import {closeModal, openModal} from '../../../actions/modal';
import {getOpened} from '../../../reducers/modal';
Expand Down Expand Up @@ -216,6 +214,7 @@ const renderComponent = (route: IRouteItem, activePath, routeProps) => {

function Router(props: IRouterProps): JSX.Element {
const components = useComponents();
const rememberedPrevRouterParamsRef = useRef<Record<string, string | number> | null>({});

const {isInitialized, pathname, route, routeParams, activePath, activeRouteIds} = useSelector(state => ({
isInitialized: isRouterInitialized(state),
Expand Down Expand Up @@ -246,6 +245,7 @@ function Router(props: IRouterProps): JSX.Element {
const prevRouteParams = usePrevious(routeParams);
useEffect(() => {
if (!_isEqual(prevRouteParams, routeParams)) {
rememberedPrevRouterParamsRef.current = prevRouteParams;
dispatch(initParams(routeParams));
}
}, [dispatch, prevRouteParams, routeParams]);
Expand Down Expand Up @@ -294,14 +294,17 @@ function Router(props: IRouterProps): JSX.Element {
const openedModalIds = useMemo(() => (openedModals || []).map(modal => modal.id), [openedModals]);
const prevOpenedModalIds = usePrevious(openedModalIds);
useEffect(() => {
if (prevOpenedModalIds !== openedModalIds && route && !openedModalIds.includes(route.id)
&& route.role === ROUTER_ROLE_MODAL) {
if (
prevOpenedModalIds !== openedModalIds
&& route
&& !openedModalIds.includes(route.id)
) {
const parentRouteId = activeRouteIds.find(activeRouteId => {
const activeRoute = routes.find(routeItem => routeItem.id === activeRouteId);
return activeRoute && activeRoute.role !== ROUTER_ROLE_MODAL;
});
if (parentRouteId) {
dispatch(goToRoute(parentRouteId, routeParams));
dispatch(goToRoute(parentRouteId, rememberedPrevRouterParamsRef.current));
}
}
});
Expand Down

0 comments on commit 73a0b53

Please sign in to comment.