当前位置: 首页 > 面试题库 >

获取对组件的类实例的引用

吴鸿禧
2023-03-14
问题内容

我有一个扩展的打字稿类React.Component

class MyComponent extends React.Component<{}, {}>
{
    constructor(props: {})
    {
        super(props);
    }

    public render()
    {
        return <span>Test</span>;
    }

    public MyMethod() {
        console.log("Working fine");
    }
}

然后是一个地方,我必须手动创建一个实例并将其附加到DOM:

var component = MyComponent;
var element = React.createElement(component, {}, null);
ReactDOM.render(element, myDomElementContainer);

由于系统的体系结构限制,我需要为该组件存储对我的类实例的引用以供以后使用,问题是我在创建的元素中找不到对我的类实例的任何引用,它只有一个引用通过财产上课type

React.createElement只允许我提供类,ReactDOM.render而不喜欢手动实例化的对象。

为了实例化自定义组件,将其附加到DOM并获取对组件类实例的引用,我应该怎么做?


问题答案:

您有几种选择:

(1)使用ReactDOM.render的返回值:

var element = ReactDOM.render(<MyComponent />, myDomElementContainer);

(2)使用React.createElement:

var element = React.createElement(MyComponent);
ReactDOM.render(element);

(3)使用裁判:

var element;
ReactDOM.render(<MyComponent ref={el => element = el } />, myDomElementContainer);

呈现的实例将分配给element该实例MyComponent



 类似资料:
  • 问题内容: 如果我从中创建函数的基类是派生该实例的类的基类,那么如何查找在Python中创建对象实例的类的名称? 我想也许检查模块可能在这里帮助了我,但似乎没有给我我想要的东西。除了解析__class__成员之外,我不确定如何获取此信息。 问题答案: 你是否尝试过该类的属性?即会给你班级的名字,我想这就是你想要的。 此方法仅适用于新式类。你的代码可能使用一些旧式类。这两种方法均适用:

  • 问题内容: 是的 我知道您看不懂标题。 以下面的代码为例。 排除的输出。 defaultdict支持任何此类功能,以便我可以做到吗?一旦在房间中调用了“某物”类,在该类内部,我需要一个代码,以便self.room是所谓的“某物”! 问题答案: (任何可调用的)默认工厂不接受参数。 如果 default_factory 不为 None ,则在不带参数的情况下调用该函数以提供给定键的默认值,此值将插入

  • 问题内容: 如果我有 我怎样才能从? 如果我这样做,那我就代替了。 问题答案: 组件类型 用这个: 返回表示数组的组件类型的信息。如果此类不表示数组类,则此方法返回。 参考: 安全/不安全铸造 有没有一种方法可以从getComponentType()返回的Class强制转换为Class,而不会收到编译器警告? 采取这种方法: 这是生成的字节码: 如您所见,参数类型被擦除为Object [],因此编

  • 如何在Children内部拿到父级的ref? 父级是不同的组件

  • 本文向大家介绍Java获取json数组对象的实例讲解,包括了Java获取json数组对象的实例讲解的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇Java获取json数组对象的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我面临以下问题:我的类继承了。这个工作器的逻辑足够复杂,事实上调用了里面的一堆其他例程并捕获()几个的结果,例如: 问题: 我可以以某种方式将收集的值(值是简单的原始对象)返回/放置给? 或者作为一种选择-我如何在其他类中收听/收集这些-在我的之外? 因为,