我有一个页面,其中包含在服务器中呈现的表单,它处理验证以及选择的正确值。
我想隐藏该表单的 DOM,并将其附加到 react 组件中,以便我可以在 react 路由器中使用它。
const NewItem = React.createClass({
render() {
return (
<div>
<h1>New item</h1>
{/* I WANT THE FORM FROM THE PAGE HERE*/}
</div>
)
}
})
最好的方法是什么?
最佳答案
您可以完全访问 componentDidMount
中的 DOM。您可以使用 refs 访问您想要的特定 DOM 元素。
var NewItem = React.createClass({
componentDidMount: function () {
this.refs.formTarget.appendChild(myFormDomElement);
},
render: function () {
return React.DOM.div(null,
React.DOM.h1(null, "New item"),
React.DOM.div({ref: "formTarget"}));
}
});
请注意,在 0.14 中,ref 是原始 DOM 元素。在此之前,ref 是一个 React 组件,您必须调用 React.findDOMNode(it)
来获取实际的 DOM 元素。
关于javascript - 如何将外部 DOM 附加到 React 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32849219/