ungdev/UA-appli

Utilisation des routes à revoir

Opened this issue · 1 comments

Créer un système automatisé pour gérer toutes les routes sans devoir modifier 50 fichiers

Fleuh commented

Je profite de cette issue pour soulever un point à réfléchir.

Actuellement les Route sont faites à l'arrache avec des structures conditionnelles ultra crados. Je pense que créer des composants customs qui héritent du composant Route du package react-router est une idée à étudier.

L'idée c'est en gros :

import React from 'react'
import { Route, Redirect } from 'react-router'

/* Cas d'une route custom checkant si l'utilisateur est connecté. Tout à fait possible
d'en faire d'autre checkant d'autres attributs. À lier comme il faut avec l'API btw.
Il me semble qu'il y a déjà un truc de fait côté API pour return une 403 si l'utilisateur n'est pas autorisé
mais on a géré ça un peu avec le cul côté UI. */
class PrivateRoute extends React.Component {
    render() {
        const { component, isAuth, ...rest } = this.props
        return (
            <Route {...rest} render={routeProps => (isAuth ? <Component {...routeProps} /> : <Redirect to="/whatever" />)} />
        )
    }
}

https://medium.com/@tomlarge/private-routes-with-react-router-dom-28e9f40c7146