@finalfreq, . ( ) arrayOf(twoNumbers). , twoNumbers.isRequired ...
, , .
import invariant from 'invariant';
function isValid(value) {
return Array.isArray(value) && value.length === 2 && value.every(Number.isFinite);
}
export default function twoNumbers(props, propName, componentName) {
if (Array.isArray(props)) {
props.forEach((item, index) => {
invariant(
isValid(item),
`Array item index ${index} is ${item}, but needs to be an array of two numbers`
);
});
}
const value = props[propName];
if (!value) return;
invariant(isValid(value), `${componentName} ${propName} needs to be an array of two numbers`);
}