это не определено в классе - PullRequest
0 голосов
/ 26 октября 2018

У меня есть следующий класс

class ContractStore {

    clauses = [];

    addClause() {
        this.clauses.push({
            id: uuidv1()
        })
    }

}

export let contractStore = new ContractStore();

, а затем я импортирую его как

import { contractStore } from '../store/ContractStore'
...
contractStore.addClause()

, и я получаю this как undefined в addClause() методе.что я тут не так делаю?

1 Ответ

0 голосов
/ 26 октября 2018

Вам не хватает, чтобы установить контекст здесь.Вы можете сделать это двумя способами.

Путь функции стрелки

class ContractStore {

    clauses = [];

    addClause = () => {
        this.clauses.push({
            id: uuidv1()
        })
    }

}

или Bind way

class ContractStore {
    constructor() {
      this.addClause = this.addClause.bind(this)
    }
    clauses = [];

    addClause() {
        this.clauses.push({
            id: uuidv1()
        })
    }

}

Спасибо.Отзывы приветствуются

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...