Javascript 在React/中公开私有函数而不使用REF,否则为React无限挖掘高度信息

Javascript 在React/中公开私有函数而不使用REF,否则为React无限挖掘高度信息,javascript,reactjs,infinite,Javascript,Reactjs,Infinite,注意:我们需要getStyle()。渲染组件之前的高度 我有自己的react无穷参数,它基本上只是通过它的子元素,并将高度传递给无穷大。当构件的高度在“支柱”中指定时,此操作非常有效。这些很好用: <InfAdapter><div style={{height:420}}/></InfAdapter> 传递this.style而不是this.getStyle()也可以,但不太理想。就像从child div中挖掘props.style.height一样,但我怀

注意:我们需要getStyle()。渲染组件之前的高度

我有自己的react无穷参数,它基本上只是通过它的子元素,并将高度传递给无穷大。当构件的高度在“支柱”中指定时,此操作非常有效。这些很好用:

<InfAdapter><div style={{height:420}}/></InfAdapter>

传递this.style而不是this.getStyle()也可以,但不太理想。就像从child div中挖掘props.style.height一样,但我怀疑这是可能的,因为我们在渲染Foo之前需要InAdapter的高度。

通过一个非常愚蠢的黑客解决了这个问题

在将JSX转换为JS时,我检查类是否有样式字段,如果有,则创建一个getDefaultProps()方法,该方法返回{style:whateverWasSpecifiedInThisStyle}

非常难看,但它完成了任务。

您不能将getHeight(c)更改为调用
c.getStyle().height
?不能调用c.getStyle()。。。如果我可以,那就太完美了。
<InfAdapter><Foo height={420}/></InfAdapter>
return <div style={{height:this.props.height}}/>
return <div style={this.getStyle()}/>
this.props.children.map(this.getHeight);

getHeight(c){
    return c.props.height||c.props.style.height
}