React Router 4.x - PrivateRoute não funciona após conectar-se ao Redux
PrivateRoute disponível no exemplohttps://reacttraining.com/react-router/web/example/auth-workflow não está funcionando depois de conectar-se ao Redux.
Meu PrivateRoute parece quase igual à versão original, mas apenasconectado ao Redux e usou-o em vez de fakeAuth no exemplo original.
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);
Uso e resultado: -
NÃO está funcionando, masdesejado e esperando trabalhar<PrivateRoute path="/member" component={MemberPage} />
funcionando, mas NÃO desejado para ser usado como este<PrivateRoute path="/member" component={MemberPage} auth={auth} />
trabalhando. APENAS para trabalhar, mas NÃO deseja usar. Um entendimento a partir deste ponto é que, se você conectar o PrivateRoute original ao Redux, precisará passar alguns props adicionais (qualquer prop) para fazer o PrivateRoute funcionar, caso contrário ele não funcionará.Alguém, por favor, dê uma dica sobre esse comportamento. Esta é a minha pergunta principal<PrivateRoute path="/member" component={MemberPage} anyprop={{a:1}} />