Fable/F# - Как сохранить в браузере перечисления или отдельные объединения?

Я могу сохранить строку в локальном хранилище браузера с

Browser.localStorage.setItem(key, str)

но когда я пытаюсь структурировать дискриминационный союз (например, путем вызова string на это), это выходит как [Object object],

Так как FSharp.Reflection и функции манипулирования перечислениями не поддерживаются в Fable, как я могу сохранить и загрузить DU или значение перечисления (без выполнения дополнительной работы для каждого случая)?

1 ответ

Решение

Согласно Fable документам, вы можете использовать функцию Fable.Import.JS.JSON.stringify сериализовать DU и Fable.Import.JS.JSON.parse десериализовать это. Это позволяет сохранить его и загрузить из браузера localStorage.

Также есть [<StringEnum>] Атрибут, который, как я предполагаю, заставляет перечисления рассматриваться как их строковое представление, но я не проверял его для этого варианта использования.

Другие вопросы по тегам