是否有一种简单的方法可以从ClojureScript Reagent应用程序更改文档标题和描述(或其他[:html [:head [:meta
标记)?例如,在每个bidi
路线匹配上,更改标题和说明以匹配新的网页内容。
最好不要使用js/window
,这样可以在浏览器中使用相同的代码,也可以在服务器同构预渲染中使用(我需要搜索引擎优化)。
在JavaScript / React世界中,react-document-meta和react-side-effect可能会转换为Reagent组件。但这种处理副作用的方式看起来像是一个黑客,可能更简单的解决方案可以在纯ClojureScript中完成。
答案 0 :(得分:2)
我没有使用bidi
,而是使用类似的双向路由器silk
和re-frame
。对于每次更改页面,我们会触发一个:set-current-route
事件,该事件将集中处理。
:set-current-route
的处理程序将
(set! (.-title js/document) "dynamic title")