Comments (6)
@satya164 well sure, but it would be defined in terms of the useNavigation
hook in this repo, much like the current useNavigationParam
is. From the readme:
useNavigationParam(paramName)
Access a param for the current navigation state
function MyScreen() { const name = useNavigationParam('name'); return <p>name is {name}</p>; }Literally the same as
useNavigation().getParam(paramName)
The hook I proposed is a modification of this, and could be implemented along the lines of
const useNavigationParam = (paramName, defaultValue) => [
useNavigation().getParam(paramName, defaultValue),
(newValue) => useNavigation().setParams({ [paramName]: newValue }),
];
but the bit I'm worried about is if the ship has sailed with regard to the API of useNavigationParam
. (Since my proposed API wouldn't be backwards-compatible here.)
from hooks.
Makes sense. Agree that useNavigationParam
should return a value, setter pair.
from hooks.
@benseitz feel free to open a PR! 👍
A simple implementation should be straightforward (something like the above), but I don't really have the time to look at this currently (over this weekend/next week, at least).
from hooks.
and using it much like I'd use useState.
The code you posted doesn't need to be a hook since it doesn't use any hook specific features like containing state, using context, storing refs etc. Naming it like a hook will be confusing if it's not really a hook.
from hooks.
@FireyFly Will you implement this feature or do you want me to open a PR? :)
@satya164 How will you handel the break in backwards compatibility? Since it's an alpha and there is no CHANGELOG
yet I fear some users might trip over this.
from hooks.
@FireyFly @satya164 I opened a PR #20 but it still has some problems, so I'd appreciate your help :)
from hooks.
Related Issues (20)
- Proper way to use react-navigation-hooks with storybook HOT 2
- Types are missing and causing errors HOT 18
- react-navigation-hooks v2 HOT 2
- setTopLevelNavigator support for hooks HOT 2
- Getting error 'from' expected HOT 2
- useFocusEffect should not retrigger on re-render HOT 8
- I can't define NavigationParams types with useNavigation HOT 1
- Reset Stack HOT 1
- Proposal: Ability to pass params for tabBarOnPress defaultHandler function HOT 1
- setParams entity change when is called HOT 1
- useFocusEffect should handle drawers HOT 4
- useNavigation shouldn't be in @react-navigation/native? HOT 3
- Open&Close Drawer HOT 1
- Hooks on the web - react-navigation is now directly imported HOT 3
- useNavigation give the warning "can't perform a React state update on an unmounted component" HOT 1
- Can I reproduce events like "onEnter/onExit" ? HOT 6
- "THIS ISSUE WAS DELETED AND BLOCKED"
- Include v5 patching for users converting from v4 to v5? HOT 1
- useNavigation not working HOT 1
- How i can re-render with useNavigationParam ? 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 hooks.