问题标签 [reagent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
780 浏览

clojure - Reagent-Forms 单选按钮显示为文本字段

我正在尝试在试剂/cljs 应用程序中显示一组单选按钮。我从http://yogthos.github.io/reagent-forms-example.html遵循了相同的过程,但我显示的单选按钮显示为文本字段输入框。

然后我将响应框放置在应用程序的 ui 层中。

谢谢

0 投票
1 回答
434 浏览

clojurescript - 重新框架:nvd3 图表在其组件的订阅更新时没有响应

我正在使用re-framecljs 框架,它reagent用作其视图库。我有一个nvd3图形组件,我想在其订阅更新时对其进行更新。

不幸的是,在最初调用:component-did-mount. :component-will-update在初始渲染后不再调用。

我希望图表能够自我更新,因为订阅会通知它正在收听的数据组件正在更改。

这是图形容器组件:

这是图形组件:

最后,这是图形渲染成的组件:

我错过了什么?谢谢你的帮助。

0 投票
2 回答
1499 浏览

reagent - 在事件处理程序中替代 React refs?

我在 github 和 google 群组上问过这个问题。没有结果。所以问题是:

假设我想创建一些可重用的组件。

假设我想在一页中有几个歌曲播放器。在这种情况下,我无法将 ID(#player-audio) 分配给音频元素,因为该页面将具有重复的 ID。

那么如何在事件处理程序中引用本地组件呢?在这种情况下,如何在 on-click 事件的事件处理程序中引用本地音频元素?

在 react.js 中,我可以为音频组件分配一个引用,并通过 this.refs.XXX 引用。我如何在试剂中做到这一点?谢谢!

0 投票
2 回答
157 浏览

clojure - 试剂组件可以有多个顶级 HTML 实体吗?

我看到很多这样的代码:

有没有办法使该组件只有两个 p 元素,而没有封闭的 div?

0 投票
1 回答
134 浏览

clojure - 在重新帧加载时处理丢失的数据

在重新框架中,我的观点基本上是这样的:

它会立即显示,但 current-tool 可能需要一段时间才能显示,因为除非之前已加载,否则需要从服务器请求工具数据。在此期间,@currrent-tool 为 nil,此代码崩溃。处理这个问题的适当方法是什么?我想过这样做:

哪个有效,但是在加载时会显示一个空白页面。如果我做:

我觉得这个视图正在扮演一个它应该有的额外角色:知道如何显示加载消息。此外,我可以看到这迅速演变成:

这感觉像是一种常见的模式,我会一遍又一遍地重复。由于 re-frame 已经提供了一种模式,我想知道我是否遗漏了一些东西。有没有不同的方法来构建一个使用 re-frame 的应用程序,最终不必抽象出我刚刚发现的这种模式?

我想用更通用的术语来说,您如何处理试剂应用程序中丢失的数据?

0 投票
1 回答
132 浏览

clojurescript - clojurescript 中的 regent:选择的值可以保存在 PC 浏览器中,但不能保存在移动浏览器中

我正在使用 re-frame 来开发一个 clojurescript 应用程序。它保存了选择的选项。@new-feedback 是每当我选择新选项时都会改变的原子。然后单击保存按钮后,它将保存数据。

请检查 https://github.com/wqhhust/test_frame/blob/master/src/cljs/test_frame/views.cljs#L36

然后dispatch会触发逻辑句柄:

它将新的反馈保存到全局数据库中。 https://github.com/wqhhust/test_frame/blob/master/src/cljs/test_frame/handlers.cljs#L16

当我打开它PC浏览器时,单击一个元素并选择保存它的选项,如果再次单击该元素,那么我可以看到保存的值。但是当我在移动browner上进行时,无论是在android手机、iphone还是平板电脑上,它都不保存数据,每次我重新打开元素时,保存的数据都没有了。

0 投票
1 回答
523 浏览

clojurescript - 为什么镭不能与试剂 (Clojurescript) 一起使用?

我试图让FormidableLabs/radium · GitHubreagent-project/reagent · GitHub一起工作,但我走到了死胡同。

我能够通过create-class像这样的“破解”试剂功能使其部分工作(它几乎与原始相同,我只是添加了js/Radium包装器)。

然后我为这样的组件制作了函数

我在其他一些试剂渲染功能中使用它,例如:[radium/radium]

  • 因此,将样式向量合并在一起效果很好(这就是 Radium 功能)。
  • 媒体查询也有效,但仅在第一次渲染时,当我更改屏幕尺寸时它不会动态反应。
  • :hover :focus :active根本不起作用

我正在挖掘镭代码以找出问题所在。好的迹象是 Radium 正确地为组件分配onMouseEnter onMouseLeave了 props 并将组件的:hover状态设置为 true。

这会被正确触发:https ://github.com/FormidableLabs/radium/blob/master/modules/resolve-styles.js#L412

问题是该render函数根本没有被触发,该函数应该基于新状态(由 Radium 更改)重新渲染组件。这个render函数: https ://github.com/FormidableLabs/radium/blob/master/modules/enhancer.js#L22 当我运行 JS Radium 示例(没有 Clojurescript 和 Reagent)时,这个渲染函数会在每个onMouseEnter onMouseLeave. 完全不用试剂。

当组件状态发生变化时,Reagent 是否会以某种方式阻止重新渲染?

0 投票
1 回答
834 浏览

clojurescript - 试剂中的触摸左/触摸右事件

我正在使用试剂来开发网站。实际上,一般来说,我不清楚如何在试剂中处理触摸事件。我读了这篇文章 clojurescript: touch events and Domina,但是我需要使用 domina 来处理带有 reagent 的触摸启动事件吗?如果用户向左或向右滑动了 %,任何人都会有一段代码来检测(给定一个 dom 元素)吗?

0 投票
2 回答
1357 浏览

clojurescript - Reagent:如何从 component-will-receive-props 中获取新的 props?

所以签名component-will-receive-props是这样的:

https://github.com/reagent-project/reagent/blob/master/src/reagent/core.cljs#L114

:component-will-receive-props (fn [this new-argv])

new-args似乎它是函数或 js 对象。我期待它是道具地图。如何从 中获取道具地图new-argv?我可以从thisby获得旧道具(reagent/props this),但这是旧道具,不是新收到的。

0 投票
2 回答
4282 浏览

clojurescript - 如何在 clojurescript 中获取查询参数?

我正在使用秘书和试剂。这是我的代码:

忽略 :prefix 值(我尝试了“”、“#”并且根本没有设置 :prefix)此代码仅适用于以下路由:

但它不适用于以下路线:

我实际上想要实现的是解析来自朋友的登录失败,如果失败将我重定向到

并向用户显示登录失败消息。我不需要为此使用秘书,任何可以解析查询参数的东西对我来说都可以。

困难的方法是解析我可以得到的查询字符串:

我相信这在某些图书馆已经做得很好了。