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

标签 reactjs clojurescript isomorphic-javascript reagent

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

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

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

最佳答案

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

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

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

关于reactjs - 如何在 ClojureScript/Reagent 中动态更改页面标题和描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44975192/

相关文章:

google-chrome-extension - Chrome 说我的内容脚本不是 UTF-8

reactjs - goBack() 带我一直到第一个条目,而不是我想要的地方

javascript - 在同构 React 应用程序中,有哪些减少 FID(首次输入延迟)的好方法?

javascript - 如何设置 React 渲染组件的样式

clojure - 如何从 Clojure 中编译 Clojurescript 表单?

node.js - 使用 socket.io 和 webpack 构建 React 应用程序不起作用

jquery - 无法使用 jayq 绑定(bind)到 keydown 事件

node.js - React JS 同构渲染

javascript - 我的基本 ReactJS 应用程序有什么问题?

android - 在 native react 中使用 map 时出错