当前位置: 首页 > 知识库问答 >
问题:

如何将窗口作为PropType的有效道具?

萧修永
2023-03-14

我试图为类组件定义我的proptype列表。组件可以接受常规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 />
        );
    }
}

但是,当组件默认使用窗口作为容器道具时,会引发以下错误:

Warning: Failed prop type: Invalid prop `container` supplied to `FooContainer`.

因此,对于值为window的属性,要使用的有效PropType是什么?

共有1个答案

张勇
2023-03-14

您可以使用oneOfType并包含窗口对象构造函数的实例,窗口

PropTypes.instanceOf(window.constructor)

这将允许任何窗口实例作为属性值。

 类似资料:
  • 所以我正在用pygame做一个游戏,我也想用tkinter。我在tkinter窗口中嵌入了一个pygame窗口,但我似乎什么都做不了。 对于上下文,以下是完整的代码: 当我使用时,什么都不会发生。在类中使用pyplay是有效的,但是在我更复杂的游戏中,为所有变量使用self.variable似乎是不必要的。 如何在window类之外的pygame窗口中运行代码?

  • 我很难理解窗口在Kafka Streams中是如何工作的。到目前为止,结果似乎与我所阅读和理解的不一致。 我已经创建了一个带有支持主题的KSQL流。KSQL SELECT语句中的“列”之一已被指定为该主题的TIMESTAMP。 my-stream主题中的记录按键(PARTITION_KEY)分组,并用跳转窗口窗口 记录通过 然后我通过 组中的第一个窗口转换为7:00-7:05 当我通过控制台消费者

  • 问题内容: 我将Python 2与和一起使用,然后使用。 该程序运行良好,但是每次打开该程序时,窗口都会显示为隐藏状态,因此,直到我单击扩展坞上的图标以将其打开时,该窗口才会出现。 有什么方法可以控制此,使该窗口位于应用程序启动时打开的其他窗口之上? 需要澄清的是,在应用程序运行的整个过程中,它不一定都位于最前面。我只需要它在启动时位于其他窗口之上。 问题答案: 如果我接受您提供的代码并添加第一行

  • 我正在使用react语义ui模态对象。打开模态的对象是一个道具。 我想在另一个组件中嵌入模态: 如何传递JSX代码(

  • 我将Apache Beam SDK与Flink SDK进行流处理比较,以确定使用Beam作为附加框架的成本/优势。 我有一个非常简单的设置,其中数据流从Kafka源读取并由运行Flink的节点集群并行处理。 根据我对这些SDK工作原理的理解,逐窗口处理数据流的最简单方法是: > 使用Apache Beam(在Flink上运行): 1.1.创建一个Pipeline对象。 1.2。创建Kafka记录的

  • 问题内容: 我正在尝试做一些事情: 似乎没有必要,但是如果将其删除,则最后一个范围将永远存在。我做错了什么? 另一个问题是-使用Go例程的这种方式正确吗? 问题答案: 这是生产者- 消费者类型的示例。我只使用here,这样主goroutine不会立即退出。从理论上讲,您的应用程序可以等待,或者在此期间做一些其他有趣的事情。 请注意,您还可以使用其中要缓冲编号的缓冲通道。请注意,在典型的生产者- 消