这是一个js小提琴, 显示了实际的问题。
在组件的render函数中,我使用class渲染div
.blah
。在componentDidMount
相同组件的功能中,我期望能够选择类.blah
并像这样附加到它(因为组件已经安装)
$('.blah').append("<h2>Appended to Blah</h2>");
但是,附加内容不会显示。我还尝试(也显示在小提琴中)以相同的方式进行添加,但从父组件到子组件的追加结果相同,并且也从子组件到父组件的空间进行追加结果。我尝试后者的逻辑是,可以更确定dom元素已被渲染。
同时,我能够(在componentDidMount
函数中)getDOMNode
添加到
var domnode = this.getDOMNode();
$(domnode).append("<h2>Yeah!</h2>")
但是我希望能够使用CSS样式添加到我知道的类的div后面。另外,由于根据文档 getDOMNode
不推荐使用,因此无法使用替代getDOMNode
方法执行相同的操作
var reactfindDomNode = React.findDOMNode();
$(reactfindDomNode).append("<h2>doesn't work :(</h2>");
我不认为getDOMNode
或者findDOMNode
是做什么,我试图做的正确方法。
问题: 是否可以在React中附加到特定的ID或类?我应该使用哪种方法来完成我要完成的工作(getDOMNode
即使已弃用)?
var Hello = React.createClass({
componentDidMount: function(){
$('.blah').append("<h2>Appended to Blah</h2>");
$('.pokey').append("<h2>Can I append into sub component?</h2>");
var domnode = this.getDOMNode();
$(domnode).append("<h2>appended to domnode but it's actually deprecated so what do I use instead?</h2>")
var reactfindDomNode = React.findDOMNode();
$(reactfindDomNode).append("<h2>can't append to reactfindDomNode</h2>");
},
render: function() {
return (
<div class='blah'>Hi, why is the h2 not being appended here?
<SubComponent/>
</div>
)
}
});
var SubComponent = React.createClass({
componentDidMount: function(){
$('.blah').append("<h2>append to div in parent?</h2>");
},
render: function(){
return(
<div class='pokey'> Hi from Pokey, the h2 from Parent component is not appended here either?
</div>
)
}
})
React.render(<Hello name="World" />, document.getElementById('container'));
在JSX中,您必须使用className
,而不是class
。控制台应对此显示警告。
固定示例:https :
//jsfiddle.net/69z2wepo/9974/
您使用React.findDOMNode
不正确。您必须将React组件传递给它,例如
var node = React.findDOMNode(this);
将返回组件本身的DOM节点。
但是,正如已经提到的,您实际上应该避免在React之外对DOM进行变异。整点是描述UI 一旦 基于状态和组件的道具。然后更改状态或道具以重新渲染组件。
问题内容: 我希望创建一个无状态组件,其元素可以由父组件验证。 在下面的示例中,我遇到了一个问题,其中输入从未分配给父级的私有属性。 何时调用,是。是否有我所缺少的东西,或者有更好的方法来做到这一点? 问题答案: 编辑:您现在可以使用React Hooks。 请参阅Ante Gulin的答案。 您无法访问做出反应等的方法(例如,在无状态组件等)在内。查看有关GH的完整讨论。 无状态的想法是没有为其
问题内容: 我需要使用childappend或jquery append()将一些标签内容附加到文档中。据我所知,这正在被剥离。有人知道怎么做吗? 问题答案: 尝试这个: 请注意,脚本将加载,并且您可以访问其中的变量,但是您不会在DOM中看到实际的标记。
问题内容: 我有这样的物体 我需要附加更多数据 所以最终数据应该像这样 我尝试了以下代码。但这不是附加的。 Pluker链接:http ://plnkr.co/edit/gist:3510140 问题答案:
在Java中,以下代码是实现的一种方法。 kotlin的惯用做法?
问题内容: 我正在尝试 将 字符串 追加 到日志文件。但是,writeFile每次写入字符串之前都会擦除内容。 任何想法如何以简单的方式做到这一点? 问题答案: 对于偶尔的追加,您可以使用,每次调用时都会创建一个新的文件句柄: 异步地: 同步:
问题内容: 我正在写某种生成加密日志文件的记录器。不幸的是,密码学不是我的强项。现在,我可以向文件写入几条消息,然后关闭文件。然后我可以打开它,附加一些消息,再次关闭,解密后,我在文件中间看到填充字节。有什么方法可以处理加密文件,而不必每次我想添加一些消息时都对其解密? 编辑 :更多细节。当前实现使用CipherOutputStream。据我了解,没有办法 寻求 使用它。如果我将控制输出数据大小可