反应类实例

时间:2018-08-08 03:59:26

标签: reactjs ecmascript-6 es6-class react-dom

我制作了一个虚拟的React组件,该组件什么也不做,只是打印出其this值。

import React from 'react'
import ReactDOM from 'react-dom'

class MyComponent extends React.Component {
    constructor() {
        super()
    }

    componentDidMount() {
        console.log(this)
    }

    render() {
        return <div />
    }
}

const myComponent = new MyComponent()
console.log(myComponent)

ReactDOM.render(<MyComponent />, document.getElementById('app'))

我希望console.log(myComponent)将产生与console.log(this)相同的结果。但是,后者具有其他属性(例如_reactInternalFiber),并且某些属性是不同的(例如contextprops)。

console.log

我的问题是,React或ReactDOM如何能够提供这些附加属性?您可能会认为MyComponent的所有实例都将具有相同的属性,因为它们具有相同的constructor()函数,但是这里不是这种情况。

0 个答案:

没有答案