如何在 ClojureScript / Reagent 中动态更改页面标题和描述

IT技术 reactjs clojurescript isomorphic-javascript reagent
2021-05-16 01:24:37

是否有一种简单的方法可以[:html [:head [:meta从 ClojureScript Reagent 应用程序更改文档标题和描述(或其他标签)?例如,在每个bidi路由匹配更改标题和描述以匹配新的页面内容。

最好这应该在不使用的情况下工作,js/window以便可以在浏览器以及服务器同构预渲染中使用相同的代码(我需要 SEO)。

在 JavaScript/React 世界中,有react-document-metareact-side-effect可以转换为 Reagent 组件。但是这种处理副作用的方式似乎是一种技巧,可能更简单的解决方案可以在纯 ClojureScript 中完成。

1个回答

我没有使用bidi,而是一个类似的双向路由器silkre-frame. 对于每次页面更改,我们都会触发一个:set-current-route将集中处理事件。

然后处理程序:set-current-route

(set! (.-title js/document) "dynamic title")