Как получить обнуляемое строковое значение в 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));
}
Другие вопросы по тегам