Я пытаюсь определить свой список PropTypes для компонента класса. Компонент может принимать либо обычный элемент DOM, либо window
в качестве значения реквизита. В настоящее время у меня есть:
class FooContainer extends Component {
static propTypes = {
container: PropTypes.oneOfType([
PropTypes.element,
PropTypes.instanceOf(Element),
]),
};
static defaultProps = {
container: window,
};
constructor(props: any) {
super(props);
}
render() {
return (
<div />
);
}
}
Однако, когда компонент по умолчанию использует window
в качестве реквизита контейнера, выдается следующая ошибка:
Warning: Failed prop type: Invalid prop `container` supplied to `FooContainer`.
Таким образом, какой допустимый PropType использовать для свойства со значением window
?
PropTypes.instanceof(Window)
? - person Andrew Li   schedule 03.07.2017Window
не определено, если вместо этого я попробуюwindow
, я получуFailed prop type: Right-hand side of 'instanceof' is not callable
. я думаю,window
не является экземпляром? или не имеет методаinstanceof
. - person haxxxton   schedule 03.07.2017instanceOf(window.constructor)
- person Andrew Li   schedule 03.07.2017