У меня есть список предметов в таблице в React.Когда я нажимаю на таблицу Link
, URL обновляется, но компонент не отображается.Если я обновлю компонент, то там.
Я прочитал, что у некоторых React-router-dom
версий есть некоторые проблемы, и здесь обсуждается множество решений:
https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/guides/blocked-updates.md
Это для Beta
версий.Я предполагаю, что мне нужно что-то сделать с функцией высшего порядка withRouter
из react-router-dom
, но у меня это не работает.Кроме того, withRouter был настроен глобально в приложении.
const AppHeader = withRouter(({ history, location, ...props }) => (
<Header {...props} currentRoute={location.pathname} />
));
Дело в том, что мое приложение имеет несколько приложений.Один угловой и 2 реактивных.Нужно ли настраивать его для каждого приложения?Это родительский компонент с маршрутизатором для приложения, ссылки не работают.
import React from 'react';
import { Route, Switch, Redirect } from 'react-router-dom';
import { connect } from 'react-redux';
import 'react-tagsinput/react-tagsinput.css';
import PolicyRoutes from 'dataprotection/policies/containers/PolicyRoutes';
import './styles.scss';
const AppRouter = () => (
<Switch>
<Route exact path="/policies" component={PolicyRoutes} />
<Redirect to="/policies" />
</Switch>
);
AppRouter.propTypes = {};
function mapStateToProps() {
return {};
}
export default connect(mapStateToProps)(AppRouter);
Я испробовал 2 решения.Во-первых, нужно обернуть мой компонент withRouter
примерно так:
<Route exact path="/policies" component={withRouter(PolicyRoutes)} />
А во-вторых, обернуть withRouter
, функцию соединения.Оба не работают.
Этот компонент не работает:
import React from 'react';
import { Route, Switch, Redirect } from 'react-router-dom';
import PropTypes from 'prop-types';
import OverviewScreen from '../OverviewScreen';
import PolicyDetailsScreen from '../PolicyDetailsScreen';
const PolicyRoutes = ({ match }) => (
<Switch>
<Route exact path={`${match.url}/details/:policyId`} component={PolicyDetailsScreen} />
<Route exact path={match.url} component={OverviewScreen} />
<Redirect to={match.url} />
</Switch>
);
PolicyRoutes.propTypes = {
match: PropTypes.object
};
export default PolicyRoutes;
Кто-нибудь может помочь?Я не знаю, в чем проблема ...