在Clojure中访问嵌套映射值的方法?

在Clojure中访问嵌套映射值的方法?,clojure,clojurescript,Clojure,Clojurescript,我目前正在使用以下两段代码访问ClojureScript中的嵌套值: (def响应(重新帧/订阅[::subs/quote])) (def body(:body@response)) (定义值(:值体)) (println值) (定义结果(->@(重新帧/订阅[::subs/quote]):正文:值)) (打印结果) (def lol(进入@(重新帧/订阅[::subs/quote])[:body:value])) (打印链接lol) 有没有更好/更简洁的方法?谢谢。键可以用作运算符来检索

我目前正在使用以下两段代码访问ClojureScript中的嵌套值:

(def响应(重新帧/订阅[::subs/quote]))
(def body(:body@response))
(定义值(:值体))
(println值)
(定义结果(->@(重新帧/订阅[::subs/quote]):正文:值))
(打印结果)
(def lol(进入@(重新帧/订阅[::subs/quote])[:body:value]))
(打印链接lol)

有没有更好/更简洁的方法?谢谢。

键可以用作运算符来检索其值,如下所示:

(def lol(:value(:body@(重帧/订阅[::subs/quote]))
(打印链接lol)

但是,我更喜欢使用函数作为
get in

的详细方式。我通常在组件中使用一个简单的
(defn sub[s]@(re frame/subscribe[s])
。这消除了一些视觉干扰:
(进入(sub::subs/quote)[:body:value])
检索多个键我喜欢嵌套的解构:
(让[{{:keys[value-other-key]}:body}@(重新帧/订阅[::subs/quote]])[值另一个键])
因此,分解结构以获取
主体
,并将主体中键的值绑定到
另一个键
。这两个键都很好