如何在渲染之前将React组件解析为其元素?

时间:2015-10-18 16:04:59

标签: reactjs

如果我获得了<Nav />的React组件,并且该组件的render()方法会产生一个<ul />元素,其中嵌套有<li />个元素,我如何将React组件解析为这些元素?

我这样做的原因是在呈现之前将特殊的BEM CSS类名称应用于组件的元素以及任何嵌套元素。

1 个答案:

答案 0 :(得分:0)

我认为没有直接的方法可以做到这一点而且不鼓励。如果你的React组件应该是自定义的,它应该公开像cssClassName这样的容器来传递容器。

我可以想到使用ReactDom.findDomNode的可行工作黑客。因为在调用render之后你只能得到DOM,你需要一个不透明度为0的容器组件来渲染<Nav/>,然后使用RecatDom.findDomNode()找到dom,自定义你的css,然后重置容器不透明度1。