Allow useMatch take RouteDefinition object instead of path.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
Comienza por los puntos de entrada useMatch y useRoutes y por el tipo RouteDefinition descritos en el issue. Determina cómo un objeto RouteDefinition podría identificar la ruta activa y, después, confirma que el matching de rutas anidadas funciona mientras se mantiene intacto el comportamiento existente de useMatch basado en la ruta.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Basically I want to know which route is currently active outside of <Routes/>, so I can for example change nav bar styles on specific page, currently this is hard to do correctly. So my proposed solution is to allow useMatch take RouteDefinition object so this works:
const LIST_ROUTE = {
path: '/list',
component: List,
children: [
{ path: '/' },
{ path: '/apples' },
{ path: '/oranges' },
{ path: '/banana' },
],
}
const routes: RouteDefinition[] = [
{
path: '/',
component: Home,
},
LIST_ROUTE,
]
export const App = () => {
const Routes = useRoutes(routes)
const isListRoute = useMatch(LIST_ROUTE)
return (
<div>
<Routes />
<BottomNavBar hide={isListRoute()} />
</div>
)
}
Alternative today is to use
const isListRoute = useMatch(() => '/list/*') // Matches everything and is not a correct solution
// or way more complicated
const isListRoute = useMatch(() => '/list/')
const isListAppleRoute = useMatch(() => '/list/apple')
const isListOrangeRoute = useMatch(() => '/list/orange')
const isListBananaRoute = useMatch(() => '/list/banana')
const isListRouteActive= createMemo(() => isListRoute() && isListAppleRoute() && isListOrangeRoute() && isListBananaRoute())
There might be some other way to solve this like having <Routes /> fire change event with matched route id.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.3k
- Forks
- 180
- Merge medio
- 1 d 13 h
- PR fusionados (30 d)
- 19
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de solidjs/solid-router
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
solidjs/solid-router#613 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
solidjs/solid-router#605 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 78/100
solidjs/solid-router#603 · 1 comentario ·
-
<A> costs ~6us of server CPU per instance during SSR (20x a plain <a>), mostly mergeProps/splitProps Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
solidjs/solid-router#583 ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
solidjs/solid-router#569 · 3 comentarios ·
Todos los issues de solidjs/solid-router
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
bug v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
modelcontextprotocol/inspector#2458 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
carbon-design-system/ibm-products#9907 ·