【发布时间】:2026-01-26 10:00:02
【问题描述】:
我正在尝试通过 mobx 数组访问方法的对象(此处为 greet() 方法),但我被卡住了:
TypeError: person.greet 不是函数
人物类
我有一个 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_));
然后在我的PeoplePagecomponent 中,当我在做类似的事情时:
personList[0].greet()
我收到了错误。
【问题讨论】:
-
mmmmh,我认为这来自“mobx-persist”库。
@persist('list')
标签: mobx mobx-react