в PrivateRoute, как это.
teRoute доступен в Примереhttps://reacttraining.com/react-router/web/example/auth-workflow не работает после соединения с Redux.
Мой PrivateRoute выглядит почти так же, как и в оригинальной версии, но толькоподключен к Redux и использовал его вместо fakeAuth в исходном примере.
const PrivateRoute = ({ component: Component, auth, ...rest }) => (
<Route
{...rest}
render={props =>
auth.isAuthenticated
? <Component {...props} />
: <Redirect to={{ pathname: "/login" }} />}
/>
);
PrivateRoute.propTypes = {
auth: PropTypes.object.isRequired,
component: PropTypes.func.isRequired
}
const mapStateToProps = (state, ownProps) => {
return {
auth: state.auth
}
};
export default connect(mapStateToProps)(PrivateRoute);
Использование и результат: -
Не работает, ножеланный и ожидающий работать<PrivateRoute path="/member" component={MemberPage} />
работает, но НЕ желательно использовать как это<PrivateRoute path="/member" component={MemberPage} auth={auth} />
за работой. ПРОСТО работать, но НЕ желательно использовать вообще. Из этого следует понимание, что если вы подключаете оригинальный PrivateRoute к Redux, вам нужно передать некоторые дополнительные реквизиты (любые реквизиты), чтобы заставить PrivateRoute работать, иначе он не работает.Кто-нибудь, пожалуйста, дайте намекнуть на это поведение, Это мой главный вопрос<PrivateRoute path="/member" component={MemberPage} anyprop={{a:1}} />