Mobx方法的对象不是函数

问题描述 投票:0回答:1

[我正在尝试通过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_));

然后在我的PeoplePage组件中,当我执行类似::>

personList[0].greet()

我遇到错误。

我正在尝试通过mobx数组访问方法的对象(这里是greet()方法),但我遇到了:TypeError:person.greet不是一个函数Person类我有一个Person类,并带有greet。 ..

mobx mobx-react
1个回答
0
投票

问题出在库mobx-persist,然后是行@persist('list')

© www.soinside.com 2019 - 2024. All rights reserved.