proptypes exact vs shape code example Example: proptypes shape PropTypes.shape({ name: PropTypes.string, age: PropTypes.number })