首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从子- Mobx状态树更改父状态?

如何从子- Mobx状态树更改父状态?
EN

Stack Overflow用户
提问于 2018-06-04 22:32:10
回答 1查看 3.4K关注 0票数 5

我正试图用Mobx状态树在反应中制造一个Nav。

现在,我有一个有图标列表的瘦削垂直Nav栏。现在,我想要做的是添加子菜单项目到特定的。当单击这些命令时,Nav会从瘦到宽(即展开),并显示子菜单项。一旦用户点击其中一个,Nav就会返回到瘦版本。

我认为我需要的是一种方法,当在我的父商店点击一个图标,一个标志被设置为“展开”,但我不知道如何设置当一个孩子被点击。

代码语言:javascript
复制
import { types } from "mobx-state-tree";
import NavItem from "./NavItem.js";
const NavStore = types
  .model("NavStore", {
    expanded: false,
    nav_items: types.array(NavItem)
  })
  .actions(self => ({}))
  .views(self => ({}))
  .create({

  });

export default NavStore;


import { types } from "mobx-state-tree";

const NavItem = types
  .model("NavItem", {
     expands: false,
     title: types.string
  })
  .actions(self => ({
    itemClicked() {

    }
  }))
  .views(self => ({}));

export default NavItem
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 17:23:56

您需要导入getParent和(可选) hasParent函数:

代码语言:javascript
复制
import { types, getParent, hasParent } from ‘mobx-state-tree’

然后在您的行动调用家长的行动:

代码语言:javascript
复制
if (hasParent(self)) {
  getParent(self).someAction(someParams);
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50689654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档