代码之家  ›  专栏  ›  技术社区  ›  Uğur Kaya

为什么“this”关键字引用传递的参数?

  •  0
  • Uğur Kaya  · 技术社区  · 8 年前

    我在下面附加了一个反应代码,但我的问题是关于基本的javascript。我正在创建一个高阶组件,并将以前创建的组件作为参数传递给另一个组件,我真的不明白为什么“this”关键字引用wrappedcomponent?它毫无问题地工作,但这就是问题所在,我不明白它是如何工作的。

    如果你能解释一下下面发生的事情,我会很高兴的:

    import React from 'react';
    
    const LoadingHOC = (WrappedComponent) => {
        return class LoadingHOC extends React.Component{
            render() {
                return this.props.userName === "" ? "Loading..." : <WrappedComponent {...this.props} />
            }
        }
    }
    
    2 回复  |  直到 8 年前
        1
  •  2
  •   Logar    8 年前

    this LoadingHOC

    import React from 'react';
    
    const LoadingHOC = (WrappedComponent) => {
        return class LoadingHOC extends React.Component{
            render() {
                return this.props.userName === "" ? "Loading..." : <WrappedComponent {...this.props} />
            }
        }
    }
    
    const DummyComponent = (props) => (<div>{props.username}</div>);
    
    const EnhancedComponent = LoadingHOC(DummyComponent);
    

    LoadingHOC(DummyComponent)

    <EnhancedComponent username="john"/>
    

    username WrappedComponent DummyComponent

        2
  •  -2
  •   Shashank Malviya    8 年前