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>]
Атрибут, который, как я предполагаю, заставляет перечисления рассматриваться как их строковое представление, но я не проверял его для этого варианта использования.