Reading/Writing EDN/Map 变成一个cookie
Reading/Writing EDN/Map into a cookie
我正在用 ClojureScript 编写一个简单的 SPA 游戏,我想将游戏状态(地图)保存到 cookie 中并读回。
我成功保存了 cookie,尽管它将我的地图变成了字符串。
当我读回它时,我得到错误:没有为类型字符串定义协议方法 IAssociative.-assoc:(然后它输出映射)
将地图与 cookie 一起使用的最简单、最好的方法是什么?
我试过https://github.com/reagent-project/reagent-utils and https://github.com/Quantisan/cljs-cookies,但我遇到了类似的问题。
我认为您正在寻找 "cljs.core/read-string cljs.core/pr-str" 函数。您需要将 Clojure 对象序列化为字符串并将其读回以将其存储在 cookie 中。上面的函数将能够为您序列化所有标准的 Clojure(Script) 数据结构。然后如果你有一些自定义的东西,这个函数可以来拯救:https://cljs.github.io/api/cljs.reader/register-tag-parserBANG。
我正在用 ClojureScript 编写一个简单的 SPA 游戏,我想将游戏状态(地图)保存到 cookie 中并读回。
我成功保存了 cookie,尽管它将我的地图变成了字符串。
当我读回它时,我得到错误:没有为类型字符串定义协议方法 IAssociative.-assoc:(然后它输出映射)
将地图与 cookie 一起使用的最简单、最好的方法是什么?
我试过https://github.com/reagent-project/reagent-utils and https://github.com/Quantisan/cljs-cookies,但我遇到了类似的问题。
我认为您正在寻找 "cljs.core/read-string cljs.core/pr-str" 函数。您需要将 Clojure 对象序列化为字符串并将其读回以将其存储在 cookie 中。上面的函数将能够为您序列化所有标准的 Clojure(Script) 数据结构。然后如果你有一些自定义的东西,这个函数可以来拯救:https://cljs.github.io/api/cljs.reader/register-tag-parserBANG。