2017-01-05 4 views
3

は私がFable/F# - enumまたは識別された共用体をブラウザに保存するにはどうすればよいですか?

Browser.localStorage.setItem(key, str)

とローカルブラウザのストレージに文字列を保存することができますが、私は(例えば、その上にstringを呼び出すことで)区別組合を文字列化しようとすると、それは[Object object]として出てきます。

FableではFSharp.Reflectionとenum-manipulation関数がサポートされていないため、どのようにDUまたはenum値を保存して読み込むことができますか(すべてのケースで余分な作業をせずに)

答えて

2

Fable docsには、Fable.Import.JS.JSON.stringify関数を使用してDUをシリアル化し、Fable.Import.JS.JSON.parseを使用して逆シリアル化することができます。これにより、ブラウザlocalStorageから保存してロードすることができます。

[<StringEnum>]属性もあります。これは、列挙型を文字列表現として扱うと仮定していますが、このユースケースに対してはテストしませんでした。

関連する問題