Как получить обнуляемое строковое значение в Mobx-State-Tree
Я пытаюсь создать модель с необязательным значением NULL. Я пытался использовать оба
hint: types.optional(types.string, ""),
а также
hint: types.maybe(types.string),
Оба приводят к ошибке, когда я пытаюсь установить объект json как объект. Работает, если я вручную перебираю объект json и устанавливаю нулевое содержимое в пустую строку "".
Ошибка при преобразовании "jsoncontent" в значение "content" пути
null
нельзя назначить типу:string
(Значение не является строкой).
3 ответа
Решение
Ты можешь использовать types.maybeNull
иметь тип, который также может быть null
,
hint: types.maybeNull(types.string)
Вы можете использовать одно из следующих решений, чтобы в строке Mobx-State-Tree иметь значение Nullable:
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));
}