1
クラスコンポーネントのPropTypesのリストを定義しようとしています。このコンポーネントは、通常のDOM要素またはその小道具値としてwindow
のいずれかを受け入れることができます。現在、私が持っている: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.constructor)
これは小道具値として任意のWindow
インスタンスを許可します:あなたは何ができるか
おそらく 'PropTypes.instanceof(Window)'ですか? – Li357
@AndrewLi、 'Window'は未定義です。代わりに' window'を試してみると 'Failed prop type: 'instanceof'の右辺が呼び出し可能ではありません。私は 'window'はインスタンス化できないと思いますか?または 'instanceof'メソッドを持っていません。 – haxxxton
'instanceOf(window.constructor)'についてはどうですか? – Li357