Heim  >  Fragen und Antworten  >  Hauptteil

Untersuchen Sie, ob der Zeiger auf die React-Komponenteninstanz außerhalb des Konstruktors abgerufen werden kann

Betrachten Sie diese React-Komponente:

import React, { Component } from 'react'

class Frame extends Component {
  constructor(props) {
    super(props)
    console.log('constructor', this)  // 我想要 *this* 但是 ...
  }

  render() {
    return <p></p>
  }
}

export default Frame

Wir initialisieren es so:

const view = <Frame />
console.log(view)  // 在这里!

Diese beiden Druckanweisungen geben Folgendes aus:

{$$typeof: Symbol(react.element), key: null, ref: null, props: {…}, type: ƒ, …}
constructor Frame {props: {…}, context: undefined, refs: {…}, updater: {…}}

Also, wo ich eigentlich den Zeiger this,但是在我通过JSX将frame初始化为变量view im Konstruktor haben möchte. Ist es möglich?

P粉674876385P粉674876385224 Tage vor423

Antworte allen(1)Ich werde antworten

  • P粉018653751

    P粉0186537512024-04-03 21:28:02

    由于JSX <> 语法只是对 React.createElement(Component, props, ...children) 的合成糖

    你的类组件在该函数内部由React进行初始化,React不会公开this的值,因此无法获取指向它的指针

    Antwort
    0
  • StornierenAntwort