Comments (8)
BTW, I use hookrouter with typescript. There are external typings developed by somebody else. No issues so far.
from hookstate.
Hi! Happy New Year.
I personally use https://www.npmjs.com/package/hookrouter but it is the same sort of things. So can be done.
Do you think this is useful?
Maybe it is useful.
Or it should not be part of hookstate plugins?
I expect plugins can be anything. People may choose what they want and what they do not want to include. My goal is to keep core on purpose and small.
I have got rough ideas how this plugin could work. But could you please elaborate in a bit more details and maybe with code samples how you expect to use / interact with it?
from hookstate.
Thanks for pointing out that library! However its owner makes some bold statements of not using typescript 😅
Inspired by that library, I could think of something as follows
const routes = {
'/': () => <HomePage />,
'/about': () => <AboutPage />,
};
const About = () => {
const location = useLocation()
return (
<button disabled={location.at('/home')}>Go Home</button>
)
}
const MyApp = () => {
const routeResult = useRoutes(routes, (newRoute => {
console.log('moving to new route ', newRoute.location)
}));
return routeResult || <NotFoundPage />;
}
This may seem as a rewritee of some existing stuff, but I think having hookstate as single dependency for all kind of state is really cool!
from hookstate.
It can be cool, but hard to achieve. Conceptually, history stack of a browser is also a state. The only plugin I can think of is the one, which does 2-way sync between StateLink and History.
Even if 2-way sync is possible, there are things to think about. For example, Browser History state supports append, drop, replace operations. StateLink.set()
would need some context in order to correctly map current route state to History operation.
PS: context feature is planned, I need it for some other things. I exploring it and have got understanding how context will work. Basically, set/merge
will receive additional custom user's information about set/merge action. This context will propagate to plugin callbacks.
from hookstate.
@praisethemoon hi, have you though more about this ticket? I am not sure how to progress it further...
from hookstate.
Hi! Well, I honestly still believe that a hookstate router plugin would really be neat! In my app I have a scenario where I would want to redirect pages pased on iosocket income. I didn't figure out of a fix because I did not concentrate on it but it makes me think how cool would it be to have such a feature at disposal. If you think it is unnecessary for the upcoming months then feel free to close the ticket. Otherwise, if there anything I can help with (given my limited knowlede about this) let me know!
from hookstate.
we're using hookrouter in conjunction with hookstate as well, really slim and efficient stack!
from hookstate.
Hi,
The Hookstate is moving towards version 2. Please read the updated docs here: https://hookstate.js.org/
I have decided to close this ticket as I do not see that Hookstate will integrate with a router in near future. It still does not stop apps to put the current path to the state on navigation and render accordingly.
from hookstate.
Related Issues (20)
- Resource leak with `useHookstate` HOT 2
- Is this lib still being updated? HOT 3
- Request: throw error when trying to assign nested state to a Proxy object HOT 2
- Migration from 3 to 4 HOT 4
- Localstored - optional initializer HOT 1
- https://hookstate.js.org/docs/exceptions/#hookstate-106 is killing me HOT 1
- What is the meaning of `E` in State<S, E>? HOT 1
- Injecting React-Router-dom instance into the store HOT 1
- one of my favourite projects really HOT 4
- More than 5 extensions loading HOT 2
- Creating a global object using hookstate, but unable to find the property when using it. HOT 2
- How to handle file objects in v4? HOT 1
- Isolating global states between tests HOT 4
- state.attach is not a function
- Combine extensions HOT 3
- Nextjs: localstorage is not defined HOT 6
- having problem with getting rid of proxy HOT 2
- Broadcasted state extension not working HOT 2
- 106 EXCEPTION 'Cannot Convert Undefined Value to Object' Error when setting and getting global store state in two seperate components HOT 2
- Multiple same component, different local hookstates, same info state in all!! 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 hookstate.