问题标签 [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 回答
975 浏览

clojurescript - 试剂渲染多组分

我有两个试剂组件,它们将显示在我的 Web 应用程序的不同页面上。经过单独测试,它们都完全按照应有的方式工作。当我尝试渲染它们时,只显示一个。

这是clojurescript:

在后端我有这个:

在我编译 clojurescript 并查看页面后,只显示密码组件。如果我在函数中交换顺序mount-components,那么test-component首先,只test-component显示而不是password-component.

如何同时显示两个组件?

0 投票
2 回答
609 浏览

jquery - Clojurescript/Reagent 单元测试组件 - 模拟 onChange

对于我有一个文本框的组件,我需要能够从测试中更改其中的文本:

在测试中,我将它呈现在屏幕上:

现在使用 jQuery 触发器,我正在尝试在文本上模拟 onChange:

我们尝试了

但它不起作用...

0 投票
2 回答
1015 浏览

clojurescript - 重新框架中的嵌套组件未更新

我正在使用 re-frame 构建一个单页应用程序。应用程序的每个“页面”调用一个组件base-page,然后提供其特定页面的子...

这会使用 的初始值正确呈现页面:count,并且当我(dispatch [:inc])正确运行页面更新时。

现在我想base-page成为一个 form-2 组件,这样它就可以拥有自己的订阅......

但是,当我这样做时,test-page当我运行时计数不再更新(dispatch [:inc])。我觉得这很令人惊讶,因为我认为 Reagent 在幕后将 form-1 和 form-2 组件打包成 form-3 组件。

这是预期的行为吗?如果是这样,是否有更好的方法来实现我的基本页面/具体页面模型?

0 投票
2 回答
570 浏览

clojurescript - Figwheel 多个构建(开发和测试)将在 repl 测试而不是开发中重新加载

我们有一个项目和 2 个构建:

当我启动它时:

rlwrap lein figwheel devguidelines testguidelines

它们都是在 repl 中构建的,我可以访问 testguidelines 而不是 devguidelines,这使得 repl 无用。(为构建启动 ClojureScript REPL:testguidelines)如何配置 repl 以重新加载 devguidelines 而不是 testguidelines?

0 投票
1 回答
1602 浏览

clojure - 在 ClojureScript 中,为什么我不能导航到手动输入的 URL,但是如果我单击一个链接它可以工作?

(注意,我使用的是 Reagent、Secretary 和 Compojure(以及其他))

我想创建一条路线/sectest/:id,如果我将浏览器指向该路线,我会收到以下错误:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:3449/sectest/css/site.css". asdf:1 Refused to execute script from 'http://localhost:3449/sectest/js/app.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

但是,如果我单击浏览器中导航到该路线的链接,它就可以正常工作...

这是相关的代码:

客户端:

服务器端:

因此,以下链接将我带到my-page,并且控制台打印"Hi asdf"得很好:

但是如果我输入http://localhost:3449/sectest/asdf,我会得到一个错误,而且我似乎无法追踪它。我怀疑这可能与试图查找位于 , 的资源的代码有关/sectest(它不应该),但我无法确认这一点或弄清楚如何使用它......我clojure 的新手,如果我在某些方面非常无知,请原谅,有什么想法吗?

0 投票
4 回答
984 浏览

clojure - 如何访问 clojure 试剂原子图变量?

我是 Clojure 和 Reagent 的新手。请告诉如何在原子变量联系人中首先打印变量?

(def app-state (r/atom {:contacts [{:first "Ben" :last "Lem" :middle "Ab"}]}))

0 投票
1 回答
726 浏览

react-native - 数据源属性不会从试剂传播到 React Native ListView 组件的渲染方法

我正在尝试在试剂中呈现 React Native ListView。

我有以下片段:

以上导致“道具类型失败:dataSource未指定所需道具ListView。检查渲染方法app.ios.ui.main_scene。” 随后是“无法读取未定义的属性'rowIdentities'”,因为数据源在ListView的渲染方法中未定义。

我的第一个猜测是在试剂/打嗝或其他任何内部的某处对“数据”属性进行了一些特殊处理,但我找不到任何线索来解释为什么该属性没有正确传播。

而且,是的,(.cloneWithRows data-source rows)实际上返回了一个有效的 ListViewDataSource 对象实例。

然后,如果我通过了:data-source:dataSource我得到的只是一个令人费解的“StaticRenderer.render():必须返回一个有效的 ReactComponent。您可能返回了未定义的数组或其他一些无效对象。”

我正在使用react-native 0.18.1和。我已经检查过这个并得到了同样的错误。reagent 0.5.1re-frame 0.6.0reagent 0.6.0-alphare-frame 0.7.0-alpha

我已经挖掘了几个小时,我想我需要一些帮助。尝试解决此问题的任何提示/想法,要查看的代码中的任何引用?提前致谢。

0 投票
1 回答
1743 浏览

clojurescript - How to update same input field by typing and from code in reagent/re-frame?

I have a reagent component with an integer input field and two buttons "+1" and "-1". I'd like to make it possible for the user to:

  • enter an integer value directly in the input field
  • click on "+1" to increment the value in the input field by 1
  • click on "-1" to decrement the value in the input field by 1

In addition, when using re-frame, I'd like to be able to

  • save the value to re-frame's app db after it's entered or adjusted by clicking on one of the buttons
  • update the value of the input field if it changes in re-frame's app db (for example, after we fetch the value from some API server)

How would I go about doing that?

0 投票
3 回答
1456 浏览

reactjs - 在 ClojureScript 中,如何正确使用 cljsjs/react-mdl?

我真的一直在为cljsjs库而苦苦挣扎,我可能已经花了整整 2 天的时间来玩 clojurescript 中的互操作react-bootstrap和各种material库。

基本上,我只是希望能够将 UI 组件放入我的 ClojureScript 项目中。如果你能推荐比 更好的东西cljsjs/react-mdl,我会喜欢的。如果你知道如何帮助解决我当前的错误,我也会喜欢的!

我目前有:

我得到了错误:

ReactMDL is not defined

在 javascript 控制台中。

我只想react-mdl在屏幕上显示一个按钮。

我正在使用这个包装器: https ://github.com/cljsjs/packages/tree/master/react-mdl

对于这个库: https ://github.com/tleunen/react-mdl

以及关于 cljsjs 的这些互操作说明:https ://github.com/cljsjs/packages/wiki/Using-Packages

我也在使用 clojure's reagentreframe,如果这很重要的话。老实说,我只是想用 Clojure 和相关库构建一些项目,如果你能推荐我使用不同的堆栈,请这样做!

我只是忽略了一些简单的事情吗?

0 投票
1 回答
161 浏览

node.js - 如何将试剂添加到 Node JS API

我有一个提供 API 的简单 Node JS 应用程序。我可以node main.js让服务器运行并调用localhost:3000/api/names以成功获取名称列表。我想在此基础上使用 Reagent/Cljs。

我可以在localhost:3030. 我的问题是,如何从 Reagent 应用程序对 Node 应用程序进行 API 调用?还是我的架构全错了?我应该结合这两个应用程序吗?如果可以,如何结合?

我尝试将它们结合起来,但 Reagent 想要在 Ring 上运行,而 Node 应用程序想要在节点服务器上运行。所以我还是没有两个人交流。我尝试过阅读快速入门指南,但情况并不完全相同。我也尝试过这种方法,但无济于事。将这些部分组合在一起以便将 API 响应数据从 Node 应用程序带到 Reagent 应用程序的最简单方法是什么?或者有没有办法从我缺少的 Reagent 应用程序中调用 API 调用?