Я пытаюсь получить доступ к объекту метода (здесь greet()
метод) через массив mobx, но я застрял с:
TypeError: person.greet не является функцией
Класс Person
У меня есть класс Person с методом greet
:
export class Person {
public id: number = Date.now();
public firstName!: string;
public lastName!: string;
public greet() : string {
return "Hello!";
}
};
Магазин
Мой магазин выглядит так:
import { persist } from "mobx-persist";
import { observable, computed, action } from "mobx";
import { Person } from "../models/Person";
export class PersonStore {
@persist('list')
@observable
personList: Person[] = [];
@computed get entries(): Person[] {
return this.personList.slice();
};
};
В компоненте
В моем компоненте я передаю список следующим образом:
const PeoplePage_: React.FunctionComponent<{ personStore: PersonStore }> = ({ personStore }) => {
return (
<PeoplePage
personList={personStore.entries} />
);
};
export default inject("personStore")(observer(PeoplePage_));
А потом в моем PeoplePage
компоненте, когда я делаю что-то вроде:
personList[0].greet()
Я получаю ошибку.