hyperstack-org / hyperstack-org/hyperstack
add ability to mount a component from a router
- Lingua principale
- JavaScript
- Stelle
- 538
- Fork
- 41
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
If a component is mounted from a router, then it won't work unless it is actually mounted from that router.
This makes hyper-specs `mount` method not work directly.
Instead you have to create a wrapper component that looks like this:
```ruby
class RouteToProfile < HyperComponent
include Hyperstack::Router
param :id
render do
Switch do
Route('/profile/:id', mounts: UserProfile)
Route('/') { Redirect("/profile/#{id}") }
end
end
end
```
then you can mount `RouteToProfile` and pass the id.
It should be possible to add a `route` option to the mount method, that if present will do the above by using a predefined RouteToComponent method, that takes as parameters the component to mount, the hash of route params, and the route.
For example
```ruby
mount 'Profile', {id: 1}, route: '/profile/:id'
```
would translate to
```ruby
mount 'RouteToComponent', route: '/profile/:id', params: {id: 1}
```
which would dynamically figure everything out.
In the meantime the work around is to follow the pattern above.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.