如何在 Mobx-State-Tree 中具有可为 null 的字符串值



我正在尝试创建一个具有可选、可为空的字符串值的模型。 我试过同时使用两者

hint: types.optional(types.string, ""),

hint: types.maybe(types.string),

当我尝试为该对象设置 json 对象时,两者都会导致错误。 如果我手动循环遍历 json 对象并将空内容设置为空字符串",则可以工作。

在路径"内容"值处转换"jsoncontent"时出错null不可分配给类型:string(值不是字符串(。

您可以使用types.maybeNull来拥有也可以null的类型。

hint: types.maybeNull(types.string)

可以使用以下解决方案之一在 Mobx 状态树中具有可为 null 的字符串值:

types.maybeNull(types.string) // value can be null

types.optional(types.string, '') // should create empty string if value is not defined

我创建了一个帮助程序函数,允许您同时拥有可选和可为空的类型。

function nullOrUndefined<T extends IAnyType>(type: T) {
return types.maybe(types.maybeNull(type));
}

最新更新