passing an array as an option to PropTypes.oneOf()

Viewed 63

I am trying to pass a selection of values to a certain prop in my code

MyComponent.propTypes = {
   //... proptypes    
   sortOrder: PropTypes.oneOf(["asc", "desc", ["asc, desc"]]),
}

when I pass the option ["asc", "desc"]

<MyComponent sortOrder={["asc", "desc"]} />

I get an error

Invalid prop `sortOrder` of value `asc,desc` supplied to `MyComponent`, expected one of ["asc","desc",["asc","desc"]].

not what I expected :)

2 Answers

ok figured it out, replaced oneOf with oneOfType

Would this work?

sortOrder: PropTypes.arrayOf(PropTypes.oneOf(["asc", "desc"]))
Related