Comments (3)
This does not appear to be a problem unique to hookrouter
as you ultimately need the components that render your views anyway. This library is very simple and low level so if you want to have on-demand loading of views you have to provide it yourself. I am using HoC wrappers around components that render placeholder content until the component is loaded (i.e. the promise returned by the dynamic import()
resolves).
And of course you don't have to have a single routes.js
file; you can structure your routes any way you like. My decision to use this library rather than https://github.com/ReactTraining/react-router was based on the former's tiny footprint and simplicity. I am not prepared to pay with bundle sizes for the elaborate functionality I practically never use...
from hookrouter.
Thanks for your reply.
I am of the impression that all routers applies lazy loading such that components only gets mounted when the component is navigated to.
However, my interpretation of the comment from this article (https://blog.logrocket.com/how-react-hooks-can-replace-react-router/) is that all components are mounted even before the component is in view. Is that what you are referring to?
from hookrouter.
all routers applies lazy loading such t hat components only gets mounted when the component is navigated to
Lazy instantiation, maybe? Lazy loading implies the JS code is only loaded when it's needed, which would normally be outside the purview of the router library.
all components are mounted even before the component is in view
Not at all. The useRoutes()
hook calls user-provided functions; it is entirely up to them to instantiate the components. And of course they will only get mounted after the render function that called useRoutes()
returns its result as part of its own.
Frankly, useRoutes()
is not all that different from a combination of <Switch>
and <Route>
in React-router, assuming you pass in a rendering function into <Route>
. In both cases you simply write a function that accepts parameters describing the route and returns a React vDOM subtree (an element or a fragment, or what have you). There's little enough code in hookrouter that the quickest way to answer questions about it may be to read it... or step through with the debugger.
from hookrouter.
Related Issues (20)
- Native Typescript HOT 1
- BUG: query string is wiped out when navigate() is called with path only
- Direct navigation doesn't seem to work with GH Pages HOT 1
- Typescript error: index.d.ts file is missing HOT 8
- Support React 17 HOT 2
- Problem when using ListItem Material ui HOT 2
- React components using useRef hook break
- component rendering issue with react.strictmode HOT 1
- inside setLinkProps preventDefault sometimes does not stop navigation
- navigate() does not keep queryparameter even with fourth argument set to false HOT 3
- Import returning error "is not a module" when try to use hookrouter with CRA + typescript HOT 2
- TypeError: match is not a function
- Function to get the matched route outside of React (SSR)
- Navigate doesn't refresh useRoutes HOT 3
- Using Material UI Sidebar
- routing clears parent app state, how to maintain state while using this module?
- use hookrouter with react-redux
- Mark repo as archived if no longer updating 😄 HOT 3
- Application won't deploy on Heroku due to hookrouter HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hookrouter.