首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mobx-state-tree将可选类型转换为非可选类型

mobx-state-tree将可选类型转换为非可选类型
EN

Stack Overflow用户
提问于 2019-01-17 19:46:32
回答 1查看 102关注 0票数 0

如何将可选类型转换为非可选类型

据我所知,从types.optional(types.string)types.optional,这是可行的:

代码语言:javascript
复制
const t = optional(types.string); 
delete t.defaultValue

但这似乎是非常错误的。有没有更好的方法?

EN

回答 1

Stack Overflow用户

发布于 2019-03-05 00:53:23

您可以使用.named(name)方法,该方法克隆给定的类型,为其提供一个新的name,并为您提供一种使用附加属性、视图、操作或覆盖原始类型中声明的属性、视图、操作或覆盖来“扩展”它的方法。

示例:

代码语言:javascript
复制
const Square = types
    .model("Square",
        {
            width: types.number
        }
    )
    .views(self => ({
        surface() {
            return self.width * self.width
        }
    }))

// create a new type, based on Square
const Box = Square
    .named("Box")
    .views(self => {
        // save the base implementation of surface
        const superSurface = self.surface

        return {
            // super contrived override example!
            surface() {
                return superSurface() * 1
            },
            volume() {
                return self.surface * self.width
            }
        }
    }))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54235255

复制
相关文章

相似问题

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