PropTypes doesn't work as expected

Tell us what’s happening:
Describe your issue in detail here.
In this exercise, I passed the number "10 " as a string, expected it to throw some error as it is not of type - “number”. but I passed the tests and 10 was rendered. Also tried Some other string “askdjs” even this cleared the test.
Why is the PropTypes.number.isRequired not working as expected?

  **Your code so far**

const Items = (props) => {
return <h1>Current Quantity of Items in Cart: {props.quantity}</h1>
};

// Change code below this line
Items.propTypes = {quantity: PropTypes.number.isRequired}
// Change code above this line

Items.defaultProps = {
quantity: 0
};

class ShoppingCart extends React.Component {
constructor(props) {
  super(props);
}
render() {
  return <Items quantity="10"/>
}
};
  **Your browser information:**

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36

Challenge: Use PropTypes to Define the Props You Expect

Link to the challenge:

I don’t think PropTypes is actually used in the challenge. I think it just checks against an object created for the test.

challenge test

noWhiteSpace.includes('quantity:PropTypes.number.isRequired')

–before-user-code–

var PropTypes = {
  number: { isRequired: true }
};

You can also pass if you do not supply the component with any props, even the “solutions” code doesn’t pass a prop.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.