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?
由于JSX
<>
语法只是对React.createElement(Component, props, ...children)
的合成糖你的类组件在该函数内部由React进行初始化,React不会公开
this
的值,因此无法获取指向它的指针