Create-react-app: Do we have to install prop-types library when we are using create-react-app, or it already includes it?

Created on 6 Feb 2018  Â·  9Comments  Â·  Source: facebook/create-react-app

Hi,

Do we have to install prop-types library when we are using create-react-app, or it already includes it?

I’m asking because, after ejecting i can’t see prop-types library neither in dependencies or devDependencies, but if i use it in the project without installing it, it works perfectly and isn’t throwing any errors that prop-types library isn’t installed.

We are recording React tutorial using create react app and knowing precise answer for this question, would be great.

Thanks!

Most helpful comment

You should never rely on transitive dependencies. For example if React uses PropTypes internally (without exposing them), it could potentially remove them or change their major version, and do so in a patch release. This is safe if they’re not exposed.

Therefore you should never rely on other packages’ transitive dependencies just “being there”. Always explicitly install them (and add them to package.json) to avoid them breaking.

All 9 comments

It's included by React.

Answering your question: you may not install it, but IDE/ESLint might complain about using transitive dependencies.

@miraage

That's weird because prop-types documentation on Github, is saying nothing about it, in fact in Installation section it says npm install --save prop-types. I don't understand why would someone need to run npm install --save prop-types if it already comes with React and if it works only with React ?

Well, it could be weird. Depends on our point of view. If you ask me I find using transitive dependencies pretty weird, because I prefer strict control over dependencies tree. Meanwhile another person might not find it helpful.

@miraage agreed, thanks!

You should never rely on transitive dependencies. For example if React uses PropTypes internally (without exposing them), it could potentially remove them or change their major version, and do so in a patch release. This is safe if they’re not exposed.

Therefore you should never rely on other packages’ transitive dependencies just “being there”. Always explicitly install them (and add them to package.json) to avoid them breaking.

@gaearon understood, thanks!

i ran into an error after installing prop-types. I'm new to react and I'm using react 16 any help here?

react error

@davidshare looks like you hit a npm bug, rm -rf node_modules, remove package-lock.json, and then run npm install again.

Was this page helpful?
0 / 5 - 0 ratings