1
我想爲類組件定義PropTypes的列表。該組件可以接受常規DOM元素或window
作爲其prop屬性值。目前,我有:如何使用PropTypes將窗口作爲有效的道具?
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)'? – Li357
@AndrewLi,'Window'是未定義的,如果我嘗試使用'window'代替,我得到'失敗的道具類型:'instanceof'的右手邊不可調用。我猜'窗口'不是可視的?或者沒有'instanceof'方法。 – haxxxton
'instanceOf(window.constructor)' – Li357