使用"这个"在JS中

时间:2017-08-29 20:07:04

标签: javascript reactjs this

我不明白this如何在以下代码中工作(从React教程中提取):

class Connect extends React.Component {
    myFunc = event => {
        console.log(this.pseudoInput);
    }
    render() {
        return (
            <div >
                <form onSubmit={(e) => this.myFunc(e)} >
                    <input type="text" placeholder="Pseudo" required ref={(input) => { this.pseudoInput = input }} />
                    <button type="submit">Submit</button>
                </form>
            </div>
        )
    }
}

如果我理解得很好,this引用父对象(这里输入父对象?)。但是这个父对象没有pseudoInput属性。所以我不明白它的用途。你能告诉我哪里错了吗? 谢谢

2 个答案:

答案 0 :(得分:0)

在反应中,我们使用ref来创建对组件的引用。正如您在上面的代码中看到的那样,为输入创建了一个ref。

ref={(input) => { this.pseudoInput = input }}

this.pseudoInput按名称pseudoInput创建对输入的引用,将其分配给当前类。因此console.log(this.pseudoInput); 将引用输入组件

答案 1 :(得分:0)

变量不需要在JS对象中显式定义或初始化。上面的代码几乎与以下代码相同:

var test = {};
test.variableName = 'some value';
console.log(test.variableName); //outputs 'some value'