Comments (3)
@react-navigation/core
is listed as a peer dependency because we import some utilities from there, but don't want to lock onto a specific version of react-navigation
, and instead want to defer version selection to the user.
We could specify react-navigation
as the peer dependency instead, which is what I tried in 4.0.0. Everything exported by @react-navigation/core
is also exported by react-navigation
. However, this breaks web support, which doesn't actually use the react-navigation
package at all.
Using react-navigation
directly would have a couple small benefits. One is that it would reduce the amount of peer dependency complaints yarn/npm make. They don't like that the version specification of @react-navigation/core
is nested within another dependency (react-navigation
) in your package.json, and as such don't consider it to technically be a "peer" dependency. But these errors can be safely ignored. The other benefit is that if you're using Flow, you end up having to install libdefs for both react-navigation
as well as @react-navigation/core
under the current setup. If we just used react-navigation
, the user would only need one libdef.
These small benefits are outweighed by the cost of breaking web support, which is why we're keeping @react-navigation/core
as the peer dependency.
from redux-helpers.
To your questions:
I am confused if I should add @react-navigation/core package to my project
If you're not importing anything directly from it, you don't need to bother. It is in your project by virtue of being a dependency of react-navigation
. You will get yarn/npm errors about the peer dependency for the reasons mentioned above, but you can safely ignore them.
is it just for typings?
The typing for the mainline React Navigation packages (react-navigation
, @react-navigation/core
, etc.) are maintained via flow-typed
. This project is the only one in the React Navigation org that hosts Flow types in-package.
from redux-helpers.
Nicely written, thanks a lot
from redux-helpers.
Related Issues (20)
- Issues in ThemeProvider HOT 3
- this .setState does'nt work in componnent didmount anyone can help me? HOT 3
- Invariant Violation: App.router must be provided to createNavigationPropConstructor as of [email protected] HOT 2
- NavState missing routes
- React Nav 5 support - undefined is not object _core.NavigationActions.init HOT 7
- When will react-navigation-5 be adapted? HOT 2
- undefined is not object _core.NavigationActions.init HOT 2
- TypeError: undefined is not an object (evaluating 'Navigator.router')
- React navigation navigation.getChildNavigation is not a fucntion HOT 1
- createReactNavigationReduxMiddleware called more than once
- Cannot read property 'routes' of undefined HOT 2
- TypeScript typings rely on nonexistent @react-navigation/core libdefs HOT 4
- Typings error HOT 2
- Upgrading react-navigation from 1.0.0-beta.13 to latest, having trouble re-integrating my nested navigators with redux. HOT 3
- Cannot read property 'routes' of undefined - react-navigation 3.11, redux-helper 3.0.2 HOT 1
- createNavigationReducer on Web HOT 1
- Upgrading from 1.0.0-beta.21 to v4, gives navigation.getChildNavigation is not a function HOT 3
- Invariant Violation HOT 5
- Changing imports from @react-navigation/core to react-navigation breaks web apps HOT 3
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 redux-helpers.