渲染组件时收到以下警告:
警告:组件 由React
组成contentEditable
,包含children
。现在,您有责任保证所有这些节点均不会意外修改或重复。这可能不是故意的。
这是我的组件:
import React, { Component } from "react";
export default class Editable extends Component {
render() {
return (
<div contentEditable={true} onBlur={this.props.handleBlur}>
{this.props.children}
</div>
);
}
}
React想要警告我的代码潜在的问题是什么?通过阅读https://reactjs.org/docs/dom-
elements.html上
的文档,我不太了解。
我以为我的组件应该完全像托管输入字段一样工作,没有任何问题:
this.props.children
是初始值onBlur
回调更新从道具event.target.innerHTML
设置contenteditable
html属性可以在浏览器中修改该元素的内容。React警告您在该元素中有由React管理的子级。React仅从上至下起作用。这意味着它在顶层管理模型并维护表示该数据的虚拟DOM,然后基于该虚拟DOM渲染DOM树。您在React之外对DOM所做的任何更改(例如设置contenteditable
和允许用户直接在浏览器中编辑内容)都可能被删除,或者在更新那些托管元素时给React带来麻烦。
在您所处的情况下,您不必担心{this.props.children}
节点会被炸毁,因为您知道自己正在捕获更改并对其进行所需的操作。只是警告您,当您让内容直接由浏览器编辑时,最好不要期望该节点保持完整并被React准确地更新。
如果您知道自己在做什么(现在看起来像您一样),则可以通过添加来消除该警告suppressContentEditableWarning={true}
。
在呈现组件时,我得到以下警告: 我想我的组件应该完全像托管输入字段那样工作,没有任何问题: 是初始值 回调更新中的道具 使用新道具呈现组件
嗨! 类似于:
问题内容: 我希望能够弄清楚哪些React组件与某个DOM元素相关联。 例如,假设我有一个div,并且正在使用React渲染整个应用程序。div必须由React组件呈现-但是哪一个呢? 我知道React提供了方法“ getDOMNode ”来获取与React组件相关联的DOM节点,但是我想做相反的事情。 这可能吗? 问题答案: 没有。 React中的中心概念是您实际上在DOM中没有控件。相反,您的
本文向大家介绍在React中组件和元素有什么区别?相关面试题,主要包含被问及在React中组件和元素有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 组件首字母大写 组件是由元素构成的。元素数据结构是普通对象,而组件数据结构是类或纯函数
问题内容: 我这里有这个组件。我想将调用处理程序传递给我创建的每个listElement。如果我像下面那样使用,则可以正常运行。问题是我从控制台的React收到此警告: 如果我不绑定它,我的孩子们将不了解呼叫处理程序。我可以做些什么? PS: 我知道解构作业,如http://facebook.github.io/react/docs/transferring- props.html#transfe
本文向大家介绍react怎么拿到组件对应的DOM元素?相关面试题,主要包含被问及react怎么拿到组件对应的DOM元素?时的应答技巧和注意事项,需要的朋友参考一下 refs.