问题标签 [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 投票
3 回答
3795 浏览

reactjs - 在没有 JSX 的情况下使用 react-router

我正在尝试通过 javascript API 找到使用 react-router 的示例,但到目前为止找不到任何东西。

我的目标是将 react-router 与试剂和 clojurescript 一起使用。因此,如果有人已经完成了这项工作(即使是使用 Om),我将不胜感激朝着正确的方向前进。否则,只是一个没有 JSX 的直接 javascript 示例会很有帮助。

编辑 1——接近解决方案

感谢@FakeRainBrigand 帮助将 JSX 翻译成普通的 JS。

这是 React.js 0.11.2 版本(这是当前 Reagent 版本使用的版本——0.4.3)。

JSXTransformer.js提示:您可以使用您的 React 版本执行 JSX->JS 转换。只需将其包含在您的页面中并使用浏览器的开发者控制台执行JSXTransformer.transform('/** @jsx React.DOM */<Route location="history">...</Route>').code

这是 Clojurescript 版本:

不幸的是,Reagent 默认创建的组件似乎不是“标准”的 React 组件,在React.isValidClass(myReagentComponent) === false. 所以剩下的就是弄清楚如何以通过该测试的形式生成组件。我为此发布了一个Stack Overflow 问题

0 投票
1 回答
566 浏览

reactjs - Reagent 生成一个通过 React.isValidClass(component) 的 React 组件?

我正在尝试在我的 Clojurescript Reagent 项目中使用 react-router。问题是,react-router 要求组件 pass React.isValidClass(component),在 React 0.11.2 中定义为:

Reagent 似乎将组件生成为对象而不是函数。这是我的代码:

有没有人想出如何使这种互操作工作?

0 投票
1 回答
2080 浏览

reactjs - React 在 Reagent(或 Om)中的 Refs?

我有时发现使用 React 的Refs来更改 DOM 的状态很有用,例如在渲染组件后聚焦输入字段。ReagentOm是否实现了这一点,或者如果没有,在这些库中执行此操作的惯用方式是什么?

编辑(在下面的讨论之后)。

this.getDOMNodein的使用componentDidMount不是解决这个问题的通用方法。它只允许在安装组件后访问物理 DOM 元素。有时,每次调用渲染后都需要对元素进行一致的访问——例如触发事件。做到这一点的方法是通过 Refs。

0 投票
0 回答
1769 浏览

reactjs - 未调用试剂应该组件更新

我正在尝试实现 should-component-update 生命周期功能,以避免一些不必要的渲染。我当前的实现如下所示:

即使我从 should-component-update 中返回 false,组件也会始终更新。该函数似乎没有被调用,因为添加一些调试(.log js/console ...)语句不会在控制台中产生任何消息。我在这里想念什么?

0 投票
1 回答
1417 浏览

reactjs - 如何将 ReactJS 组件与 Clojurescipt/Reagent 一起使用

是否可以包装 ReactJS 组件以在 Clojurescript 中与Reagent一起使用?读过它是。有人可以给我一个基本的例子吗?

谢谢

0 投票
3 回答
2839 浏览

clojure - 在 Reagent / Clojurescript 中保持客户端状态是最新的

我不确定解决此问题的最佳方法:

我正在编写一个 Web 应用程序,它为许多“项目”对象实现了基本的 CRUD 功能。因此,用户可以创建他/她自己的一组项目。

我已经编写了一个用于添加/删除/列出项目的 REST API,并且我已经编写了一个 Reagent 前端客户端。如您所料,客户的项目保存在试剂原子(ratom)中。

这就是有趣的地方。

在我看过的所有教程中,它向您展示了如何更新 Ratom,您的 GUI 将自动更新。我有那个,那行得通。

我目前正在做的是,在更新客户端状态时,我进行 REST POST 调用以更新数据库上的服务器状态。

但是,这感觉不对。我现在将状态存储在两个地方:客户端和服务器上,两者都可能不同。

如果我将其实现为一个普通的旧网页,服务器将向客户端发送一个页面,其中包含数据库的最新状态。但是,状态已经存在于客户端上,我不知道应该如何同步它。

在初始 POST 成功后,我是否应该再次调用服务器(GET 请求)?这可以代替鼠尾草的内容。然后我提出了两个请求……这似乎很浪费。

或者是使用chordsente之类的东西来异步管理客户端状态的最佳实践。这会更好,因为这意味着来自其他用户的更改将在客户端立即刷新。但是,我看不到任何演示对其中任何一个做出反应的教程,所以也许我走错了路。

所以问题很简单,应该如何结合使用 REST?

谢谢

0 投票
2 回答
1227 浏览

twitter-bootstrap - 如何将引导工具提示附加到 Clojurescript 试剂组件

这是我在表格每一行末尾渲染的组件。工具提示部分不起作用。

渲染后如何将 Bootstrap 工具提示附加到每个组件?

0 投票
3 回答
4642 浏览

reactjs - 试剂:component-did-mount

我正在尝试将初始焦点设置在输入元素上

但这对我不起作用。我究竟做错了什么?

0 投票
1 回答
503 浏览

clojure - 构建阶段的试剂 Figwheel npes

我正在运行 lein figwheel + reagent,虽然该站点似乎正在更新,但我无法追踪导致以下堆栈跟踪的原因。有什么我应该看的地方吗?这个错误是什么意思?

这是我的project.clj:

0 投票
3 回答
1114 浏览

clojure - clojurescript + 试剂问题

我正在使用 clojurescript 和试剂开发一个简单的网络应用程序。我想创建一个简单的“选项卡”组件,它将包含(对于初学者)一个文本输入组件。

该应用程序有 2 个选项卡,用户可以选择一个选项卡,我想“保留”这两个选项卡中的每个选项卡中的值。

这是代码:

问题是当我切换选项卡时,组件共享输入字段的值 - 我在这里做错了什么?

非常感谢你的帮助!