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

javascript - React.js 未捕获错误:不变违规更新列表

有一个包含许多图像的页面,本质上是一个图像库。图库页面可能会更新以包含新的或删除现有的图像条目。使用以下函数创建图像的条目,第一次调用该函数时,它成功完成,后续调用,以处理更新的模型,失败并出现异常

'未捕获的错误:不变违规'。

这是什么原因造成的?

0 投票
6 回答
11327 浏览

javascript - React.js 2-way bindings:valueLink 中的两级深度路径

我的状态是:

我正在使用双向绑定助手,但无法为以下内容提供有效的密钥字符串linkState

如果this.linkState接受一些查询语法会很好,例如从我的示例"0.type"中检索 。"translateX"

有什么解决方法吗?


我编写了DeepLinkState mixin,它是 React.addons.LinkedStateMixin 的替代品。使用示例:

linkState("0.x")也是可接受的语法。

0 投票
5 回答
38256 浏览

javascript - React.js:如何将 jsx 与 JavaScript 分离

有没有办法将 jsx 从组件的渲染函数移动到单独的文件?如果是这样,我如何在渲染函数中引用 jsx?

0 投票
1 回答
7329 浏览

javascript - React 代码抛出“TypeError: this.props.data.map is not a function”

我刚开始用 React 编码,我习惯用 CoffeeScript 编码。我尝试按照React 文档中介绍的教程编写代码,并为状态更新做了类似的事情。

但是,我得到了TypeError: this.props.data.map is not a function

我有点迷路,想知道我错在哪里。有人可以指导我并告诉我哪里出错了吗?

这是我的代码:

0 投票
2 回答
17682 浏览

reactjs - 如何在 React 中为每列两个单元格的 HTML 表格建模?

我最近一直在学习 React,但在尝试建模和呈现以下结构的 HTML 表时遇到了问题(请注意,使用标题的 colspan 属性将列分成两部分)。

我已经像这样对表格进行了建模:

主要组件Table,它呈现:

Header组件呈现为<th colSpan="2">Col 1 Header</th>

每个Row呈现为

现在Cell组件是我遇到麻烦的地方,因为我想将每一列分成两个子列(因为标题列有colSpan="2"。)

由于ReactComponent 的 render()方法必须返回一个子组件,我不知道如何像这样返回两个单元格:<td>Data 1A</td><td>Data 1B</td>

在非餐桌情况下,我可以返回类似

但我似乎无法弄清楚如何用一张桌子来实现这一点。也许我设计组件结构的方式有点偏离?

0 投票
1 回答
602 浏览

javascript - Reactjs 无法正确呈现信息

我正在尝试实现一个可以使用 React 删除特定输入的表单。问题是,react 似乎没有正确呈现信息。这是我的渲染功能:

和我的销毁功能:

实际的destroy函数是通过子组件调用的<a href="#" onClick={this.props.onDestroy}>(Remove)</a>。有趣的是,当我在控制台记录我的输入时,如在渲染函数中所见,正确的输入会显示出来——我调用破坏函数的那个​​已经消失了。但是不正确的输入被渲染了——它总是最后一个消失,而不是我调用破坏函数的那个​​。例如,我最初将记录:

并在姓氏上调用销毁函数。将console.log显示:

但实际呈现的信息将显示:

谢谢!

0 投票
1 回答
6436 浏览

javascript - 在 reactjs 中管理整个 body

我有一个 react 组件在 react 中管理整个应用程序。看起来像:

和 html 看起来像

我把它渲染成:

但相反,我想对整个body标签做出反应,因此没有多余的嵌套div. 我怎样才能渲染这样的东西?

0 投票
7 回答
11668 浏览

javascript - 带有历史的 Reactjs

我正在尝试使用 reactjs 处理历史记录,以使浏览器后退和前进按钮直观地工作。有没有这方面的例子,或者我应该遵循的一般准则?

谢谢!

0 投票
5 回答
91329 浏览

javascript - 为什么说 React 的 Virtual DOM 概念比脏模型检查更高效?

我在(Pete Hunt: React: Rethinking best practice -- JSConf EU 2013 )上看到了一个React开发者演讲,演讲者提到模型的脏检查可能很慢。但是,在大多数情况下,虚拟 DOM 应该比模型大,因此计算虚拟 DOM 之间的差异实际上不是性能更差吗?

我真的很喜欢 Virtual DOM 的潜在力量(尤其是服务器端渲染),但我想知道所有的优点和缺点。

0 投票
1 回答
1714 浏览

javascript - jsx --watch 将 jsx 语法转换为小写的“react”而不是大写的“React”

我在这里松散地关注facebooks React教程, http: //facebook.github.io/react/docs/getting-started.html,但我将它应用到不同的html文件。

这是我的 html 文件,基于 react 入门套件:

我安装了 react-tools,现在当我运行“jsx --watch src/build/”

它正在转换这个片段:

进入这个片段:

但是本教程显示了这个片段:

由于小写'r',网页抛出错误,“react is not defined”。这是真的。从 chrome 的控制台,我可以确认定义了“React”,而不是“react”。

如教程中所述,如何让 jsx 构建正确的输出?