2015-04-04 91 views
5

我在构建测试应用程序时使用jQuery for ajax,同时学习反应。使用jQuery选择器呈现reactjs

是否有可能使用jQuery选择器作为渲染反应组件的目标?

这是从react tut

React.render(
    <FilterableProductTable products={PRODUCTS} />, 
    document.getElementById('content') 
); 

这并不工作,但我不知道是否有可能:

React.render(
    <FilterableProductTable products={PRODUCTS} />, 
    $('#content') 
); 

感谢, 约翰

+1

也许,从jquery中解开它? $('#content')[0] – 2015-04-04 13:40:52

+1

如果您使用的是现代浏览器,请查看'document.querySelector',因为许多典型的“查找元素”场景可能不需要jQuery。 – WiredPrairie 2015-04-04 14:33:41

+0

@WiredPrairie太棒了!我从来没有见过这个! – John 2015-04-04 14:51:30

回答

11

这将做诡计

React.render(
    <FilterableProductTable products={PRODUCTS} />, 
    $('#content')[0] 
); 
+0

啊当然,谢谢:) – John 2015-04-04 13:41:55

+1

如果你的#content是一个反应组件,你也可以使用“refs”。 'this.refs.content.getDOMNode()'而不是使用jQuery。组件/元素应该位于同一层或作为道具传递。被调用时应该在'ref:content'处;) – Kursion 2015-04-04 14:37:10