问题标签 [reactjs]

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

javascript - 如何在 reactjs 中管理树组件中的状态

我已经为此苦苦挣扎了几天,试图找出“反应”的方式来做到这一点。

基本上,我有一棵树,一个可以任意嵌套的列表列表(列表...),我想要一个组件来显示它并启用重新排列。

这是我的数据:

我的第一个步骤是只有一个“树”组件,它在其渲染函数中构建嵌套的 DOM 元素列表(查看这里的代码)。这实际上对于少量元素来说效果很好,但我希望能够支持数百个元素,并且当元素在树中移动时,重新渲染成本非常高(当有几百个元素时约为 600 毫秒)元素)。

所以我想我会让树的每个“节点”成为这个组件自己的实例。但这是我的问题(对不起,介绍很长):

每个节点是否应该从中央“数据库”动态查询它的子 ID 列表并将其存储在状态中?或者最顶层的节点是否应该加载整个树并通过道具传递所有内容?

我仍在努力思考应该如何处理和划分状态和道具。

谢谢

0 投票
9 回答
8960 浏览

reactjs - Facebook React 的打字稿

我最近一直在研究React,并希望使用 JSX 和 typescript。我无法找到任何关于此的资源或React的类型定义。

您可以将 Typescript 与 JSX 一起使用,并且类型定义可用吗?

0 投票
1 回答
2788 浏览

clojurescript - Clojurescript this-as 宏指向全局对象

在 clojurescrtipt 中编写 reactjs 教程期间,我发现this-as宏编译为

(function(){var t = this; return t;}

它总是指向反应类中的窗口。有时我可以通过js* this但不是在内部letmap因为它们也被编译为函数来解决这个问题。

我如何thislet表单中访问 react js?

小提琴情况:http: //jsfiddle.net/VkebS/57/

和一块教程仅供参考:

PS:我可以使用本机数组来存储数据和本机地图功能

这行得通,但是...

0 投票
3 回答
22840 浏览

javascript - 将新的服务器数据传递给 react.js 组件

我是 React.js 的新手,并且很难理解一些核心概念来决定我们是否应该将这个库用于我们的应用程序。我的主要问题实际上是处理从服务器获取的模型中的更新。

想象一下,我有一个页面应该显示五个不同的模型。我已经按照本文中描述的方式构建了它:http: //facebook.github.io/react/blog/2013/11/05/thinking-in-react.html,所以我有“根”组件,其中所有5 个模型通过并使用道具,它们将向下传递到包含该模型的组件。所以,现在更新了 2 个模型(我从我的模型代码中获取这些事件,这些事件位于反应组件之外),我需要在 UI 上反映这一点。做这个的最好方式是什么?

我正在考虑以下选项:

  1. 再次使用新数据运行 renderComponent 并依赖 DOM diff react 技术。我对此感到担忧,因为我需要对任何小的数据更改执行此操作。
  2. 为持有此模型的组件调用 setState。通过这种方式,数据不再是道具,而是状态(据我了解)不是一个好习惯。另外,我看不到任何方法可以在根组件之外获取对子组件的引用。
  3. 有多个 renderComponent 调用,所以这样我就可以访问任何这个组件的 setProps。但是我需要做一些模板工作(让页面上的所有容器都可用),它会扼杀所有的反应想法。
  4. 拥有一个根组件,其中包括向用户显示的应用程序中所有可能的模型,并调用 setProps 来更改模型。我在这里担心的是,这个组件会变得非常大,并在某些时候变成“意大利面条”+从第 1 点开始的担忧。

提前谢谢你,希望我能清楚地解释我的问题。

0 投票
3 回答
7575 浏览

cordova - 带有 reactjs 的 Phonegap 应用程序

有没有人用 reactjs(通过 facebook)编写 phonegap 应用程序?任何指向参考实现的指针都将不胜感激。

此外,您建议将什么数据模型框架与 reactjs 一起使用。

0 投票
1 回答
5563 浏览

javascript - 反应动态事件

我很难将动态事件附加到我的反应组件。我有以下组件:

如您所见,ListItem 的 className 设置为“选择器”。基于这个“选择器”,我想在 MyMixin 中查询节点并动态附加事件。

也许我的想法全错了,因为我对 React 还很陌生。

问候

0 投票
1 回答
996 浏览

reactjs - 使用 React.js 渲染子组件错误

我正在关注本教程中的 React.js Facebook 。我在这里添加了更多 LikeButton 组件:

然后我将组件放在注释块中:

最后我在 CommentBox 中使用 setInterval 来使用轮询实时更新。

当我点赞时,LikeButton 组件可以正确呈现,但是在服务器端使用 setInterval 时,我手动更改了评论的 like 属性,但 LikeButton 组件无法正确呈现。你知道如何解决这个问题吗?非常感谢。

0 投票
1 回答
2333 浏览

javascript - React.js 组件创建父子关系并迭代

我正在尝试拥有一个可以找到相同类型的父/子组件的组件。这些组件还必须以编程方式“可重复”。

这样:

基本上我需要的是一种遍历 MyComponents 树的方法(遍历是逻辑控制的)。

我可以将控件/参数传递给父组件,或者让父组件以预定义的顺序(基于数据)将控件/参数传递给子组件。我有两种方法可以做到这一点,都涉及预处理器。一个是预处理器,它为找到的每个 MyComponent 生成一个新组件,并带有一些样板。就像是:

另一种方法是添加函数闭包,如下所示:

另一种方法是使用全局变量并将它们注入 createClass。

所有这些方法似乎都是错误的,好像我对 React 应该如何工作有很大的误解。有没有更优雅的方式可以遍历组件树,我提交的反模式是什么;我应该怎么做?

0 投票
1 回答
884 浏览

typescript - reactjs typescript - DOM 参考文档

我正在玩 reactjs 和 typescript。为了继续前进,我希望有一个文档引用 od React.DOM 对象。有了这个,我可以创建对象的定义等等,使用智能感知、编译控制……

你有 React.DOM 引用对象的链接吗?

预先感谢

0 投票
1 回答
1160 浏览

javascript - 将其中一个孩子的变化传达给父母的父母

这就是我的“层次结构”的样子:

单击单元格时,我想从 Game 运行一个方法。React 的设计与我习惯的有点不同,我无法将 Cell 中的更改传达回 Game。最好的方法是什么?

仅供参考,我正在尝试在 React.js中创建Ultimate TTT 。