问题标签 [react-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.
reactjs - React - 在 DOM 渲染时显示加载屏幕?
这是来自 Google Adsense 应用程序页面的示例。在主页显示之后显示的加载屏幕。
我不知道如何用 React 做同样的事情,因为如果我让 React 组件渲染加载屏幕,它不会在页面加载时显示,因为它必须等待之前渲染的 DOM。
更新:
我通过将屏幕加载程序放入index.html
并在 ReactcomponentDidMount()
生命周期方法中将其删除来举例说明我的方法。
reactjs - 为什么我无法从 ReactDOM.render() 回调中获取对我的组件的引用?
我有以下代码:
我需要priceCalculator
稍后在我的代码中使用,但 ESLint 抱怨我不应该使用ReactDOM.render()
. 那时我发现您可以将第三个参数传递给ReactDOM.render()
回调。太好了,我想...
但是priceCalculator
是未定义的。在调试器中,我暂停异常并发现this
当我在这个函数中时它被设置为我的 React 组件。所以我重写它...
它仍然未定义。这是怎么回事?
我正在使用 Webpack 编译 es6 React 代码(使用 babel)。
jquery-ui - React 组件不更新
我在我的应用程序中使用 React 和 Redux。当我拖动相同类型的问题时,我有一个动态表单,我的组件位置没有更新。对于拖动我正在使用JqueryUI Sortable
我的问题对象:
反应组件
问题标题组件
现在,如果我更改问题标题的文本,状态会更新并且标题也会更改。当我将问题从 2 拖到 1 时。我也更新了问题数组。
问题 2 保持在原来的位置,如果我拖动相同类型的问题,例如:文本,就会发生这种情况。问题类型在问题对象中定义。
html - reactjs中如何获取HTML5数据属性的值
如何获取上述节点中数据属性值的值。
node.js - 通过避免 NODE_ENV 检查来改进 React 服务器端渲染的最佳方法
我正在使用 require('babel-register') 来允许在 node.js 中使用 ES6 并对我的 react 组件进行服务器端渲染。
在本次演讲中(7:14 左右开始) https://youtu.be/PnpfGy7q96U?t=7m14s
将 React 服务器端渲染性能提高 30% 以上的一项主要建议是将 ReactDOMServer 指向构建的客户端版本
例如,代替 var ReactDOMServer = require('react-dom/server') 使用 var ReactDOMServer = require('react/dist/react.min')
速度提高的原因是因为客户端版本避免了对 process.env.NODE_ENV 的检查,结果证明这是一项昂贵的操作。
这个技巧以前似乎很管用,但在 React 15 中,客户端代码不再直接公开 renderToString 和 renderToStaticMarkup 的方法。相反,它隐藏在看起来很吓人的属性 __SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 后面:
因此,您可以执行类似 var ReactDOMServer = require('react/dist/react.min').__SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
但显然这似乎不是一个好主意(可能不会与 React 的未来版本向前兼容)。
我试过 require('react/dom-server/dist/react-dom-server.min') 但这会返回一个'未定义'(我相信包装代码是为了在客户端而不是服务器上运行)。
是否还有其他更受认可的建议来实现这种性能提升?
作为参考,此处记录了原始问题,但问题似乎已关闭: https ://github.com/facebook/react/issues/812
javascript - 为什么 React 渲染的 DOM 节点不被 React.PropTypes.node 验证视为节点?
假设我有两个组件:
叠加触发器:
覆盖容器组件从父组件获取其属性,该父组件监视全局存储以获取活动覆盖定义,该定义具有 triggerNode 属性。
这里的结果是,triggerNode
传递给 OverlayContainer 的是一个有效的 DOM 节点,但通过 ReactPropTypes 的isNode
验证器验证失败。为什么?如何解决这个问题?
javascript - 反应模态参考未定义!无法添加自定义属性
我有一个简单的模态:
我的唯一目标是将自定义属性(不幸的是,它不能以 data- 或 aria- 开头,因为它是由第三方定义的div
)ref="test"
当我尝试注入自定义属性时:
这里元素总是未定义的,所以setAttribute
失败了;如果我去检查元素,ref="test"
则不存在<div>
!有人可以帮我解释为什么模态中缺少这个 ref 吗?
javascript - 有条件地渲染一个反应组件
对于在其生命周期中某个时刻隐藏的组件,渲染它的最佳方式是什么?1)渲染组件,但不显示它(显示:无)。2) 仅在需要时渲染组件。什么对性能更好?如果组件的 props 和 state 稍后更新,让组件存在但隐藏在虚拟 DOM 中会更好吗?
或这个:
reactjs - Webpack2,如何从构建中排除 react 和 react dom
我的目标是为使用 webpack 在 ES6 中制作的反应组件库创建一个模块。
我在用:
- 网络包:“2.1.0-beta.25”
- 反应:“15.4.1”
我需要分配react
和react-dom
作为 peerDependencies,这样它就不会被开发人员下载。
这是我的相关部分package.json
:
根据https://webpack.github.io/docs/configuration.html#externals和https://webpack.github.io/docs/library-and-externals.html,
我尝试了以下配置:
1.
2.外部:{反应:'react','react-dom':'react-dom',}
3.
4.
5.
我总是有这个错误:
所以我想知道,文档对此不是很清楚。
2017 年 12 月,最多 2018 年 1 月,我怎样才能排除React
和ReactDOM
被捆绑?