亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不同文件中的繼承類父“this”結果為未定義

不同文件中的繼承類父“this”結果為未定義

弒天下 2023-07-06 17:41:42
我是 javascript/react 的新手,我嘗試進行類繼承。問題是,當我創建一個新的“子”并從父級調用函數時,“this”結果為未定義......這是我的文件:第一個文件:import React, { Component } from 'react';import ChildChecker from './ChildChecker';class ExampleForm extends Component {    render() {        let Checker = new ChildChecker();        return (           <label>               Name :                   <input type="text" onBlur={Checker.handleNameBlur} />           </label>        )    }}export default ExampleForm;兒童檢查器:import ParentChecker from './ParentChecker';export default class ChildChecker extends ParentChecker {}家長檢查器:export default class ParentChecker {    constructor() {        this.data = {            'foo': 'bar',        };    }    handleNameBlur(e) {        console.log(this.data); // <=== "this" result to undefined.        /* ... */    }}
查看完整描述

1 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

handleNameBlur在另一個上下文(Class)中使用,因此您應該將其ExampleForm綁定在 ParentChecker 中以保留上下文。


export default class ParentChecker {

    constructor() {

        this.data = {

            'foo': 'bar',

        };


        this.handleNameBlur = this.handleNameBlur.bind(this);

    }

    handleNameBlur(e) {

        console.log(this.data); // <=== "this" result to undefined.

    /* ... */

    }

}


查看完整回答
反對 回復 2023-07-06
  • 1 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號