0

有个问题。所以我正在制作一个使用 github api 的小应用程序(使用 mobx-state-tree 和 mobx)。我对两者都是全新的。

我有一个问题:你看到 selectedRepo 了吗?如果我为它设置一个 id,我可以访问 selectedRepo。但是...如果我在设置 id 之前尝试访问 selectedRepo,应用程序将中断。我试过用 types.optional、types.maybe 来包装它,但无论如何它都行不通。

有任何想法吗?

const defaultState = {
  count: 10,
  githubToken: "",
  selectedRepo: ""
};

const Issue = types.model({
  id: types.identifier(types.number),
  title: types.string,
  body: types.string
});

const Repo = types.model({
  id: types.identifier(types.number),
  name: types.optional(types.string, ""),
  owner: types.optional(
    types.model({
      login: ""
    }),
    {}
  )
});

const AppStore = types
  .model({
    state: "done",
    githubToken: "",
    issues: types.optional(types.array(Issue), []),
    repos: types.optional(types.array(Repo), []),
    selectedRepo: types.reference(Repo)
  })
4

0 回答 0