问题标签 [reflex-dom]

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 回答
98 浏览

css - 使用 Ob 和 reflex 导入 CSS 文件时出现静态文件错误

我想使用方尖碑让两个 div 并排浮动。为此,我已经问过这个问题(使用方尖碑时将 css 文件放在哪里)。这提供了我应该将我的东西放在静态并添加静态@filename 的答案。但是,这种方法会导致错误。

您可以在下面看到 frontend/src/Frontend.hs 中使用的前端函数的最小示例。

给出了以下错误消息:无法推断(StaticFile“css/cssTest.css”)因使用“静态”而引起。

0 投票
1 回答
102 浏览

haskell - 如何渲染列表的动态(`Dynamics t [a]`)?

我可以绘制元素Dynamic t Item但不知道如何绘制元素Dynamic t [Item]

检查类型ghci似乎是一个有效的组合

但是尝试运行时出错

0 投票
0 回答
72 浏览

haskell - 无法摆脱 reflex-dom 中的递归

代码可以编译,但运行时会陷入无限递归循环。循环进入的位置并不明显,尤其是在使用递归 do 或 monadfix 时。尝试在浏览器中调试时,它在 rts.js 行 6086 处的 fixIO 中找到循环评估

0 投票
1 回答
62 浏览

haskell - 由总和类型值填充的反射下拉菜单

我正在关注本教程,以下示例来自该教程:https ://github.com/hansroland/reflex-dom-inbits/blob/master/tutorial.md

我想constDyn countries用一个函数替换上面的函数,该函数采用 sum 类型的类型 (?) 构造函数并将它们用作下拉列表的元素。

例如,如果我有以下总和类型,我希望下拉菜单显示“锻炼”和“跑步”。如果我稍后添加,例如,Solo_WatchPracticeTape下拉菜单会自动添加“观看练习磁带”。

我推断我需要创建一个函数,将每个 sum 类型与一个字符串相关联,然后创建另一个函数,将所有这些东西变成可以被constDyn. 但我看不到如何实现这一点。

编辑:

我正在尝试这个,但它仍未完成:

但我仍然不明白如何constDynbodyElement函数中输入它。

0 投票
0 回答
31 浏览

haskell - 在 Reflex-DOM 中使用动态函数时的上下文/签名不匹配

我能够编译这个下拉列表:

但是我在 Obelisk 的框架内工作,所以我尝试了一些修改以将小部件放入那里指定的结构中:

但我收到此错误:

错误信息很清楚,但是:1.我不知道这是否是正确的方法和2.如果是正确的方法,我该如何将最后let result e = ...一位放入一个do块中?

或者,当我将函数移到result函数之外时frontend,会出现以下错误:

0 投票
0 回答
62 浏览

haskell - Reflex-FRP 中的计数器小部件

我正在尝试在 Reflex 中制作一个具有以下品质的计数器小部件:

  1. 它的最小值为 0 - 在 0 时点击“减量”不会导致任何事情发生。

  2. (已解决)增量按钮在减量按钮的右侧。

  3. 它应用了 Bulma CSS 样式。

这是我目前拥有的代码:

结果是这样的:

在此处输入图像描述

当我尝试通过将这些按钮翻转为 values: 来交换按钮时(+ 1) <$ evIncr, (+ (-1)) <$ evDecr,它对按钮的位置完全没有影响。(即增量保留在左侧。)

当我尝试像这样应用 Bulma 代码时:

它出于某种原因复制了按钮,并将现有的(丑陋的)按钮放置在 Bulma 小部件内(编辑:复制问题已解决,但不是“按钮内的按钮”问题):

在此处输入图像描述

0 投票
1 回答
211 浏览

haskell - 如何安装 ghcjs 8.8 或 8.10?

我想用 reflex-dom 生成一个 HTML / JS 页面(仅客户端,前端)。但是,我使用了单例包(2.6),它似乎无法使用 ghcjs 或 ghc 8.6.5 进行编译(单例 2.5.1,已损坏未修补)。因此,反射平台解决方案、反射石或同等产品对我没有帮助。

我看到可以通过 haskell.nix安装 ghcjs 8.8 或 8.10 ,但我没有找到如何安装。

我该怎么做?或者,有没有办法将 GHCJS(或反射平台解决方案)与最近的包(需要 ghc 8.8 或 +)一起使用?有没有办法将 ghcjs-8.8 或 8.10 与 reflex-platform 一起使用?

0 投票
1 回答
48 浏览

haskell - 即使值没有改变,我是否必须担心动态触发?

使用reflex-dom我发现自己编写了以下代码:

wheredynMaybeShowNumbers :: Dynamic t (Maybe Bool)触发,每当一个键被按下或释放,但它只有一个值不等于Nothing,当两个特定键之一改变状态(即按下或未按下)时。Just False它在两个键之一被释放时触发。

原因是我展示了一个虚拟键盘,它通常取决于按下或释放键的任何事件。对于dynMaybeShowNumbers,我只是过滤掉了需要按住以显示虚拟小键盘的两个相关键。

我可以轻松编写dynShowNumbers :: Dynamic t Bool不依赖于Dynamic t (Maybe Bool)上述内容的更简单的代码。

然而:

在这种情况下,每当按下任何键时,我都会被dynShowNumbers解雇:

而上面的代码会导致

对于相同的输入。

我觉得,我需要上面的代码来避免动态重新渲染我的虚拟键盘——即使没有任何变化。


但是上面的行是好的做法吗?库中是否有有效的功能(找不到)?它类似于从列表中删除重复项的任务。