让我说我有一个非常简单的应用程序,使用以下渲染方法。
render(){
return (<div style={{height:window.innerHeight}}/>);
}
导致以下DOM:
<div data-reactroot="">
<div style="height:938px">
</div>
</div>
现在,当我尝试重新水化DOM时,我得到一个警告,说样式道具不匹配,但除非div的高度没有更新到它应该是什么,否则仍然可以正常工作。
修复警告或忽略警告(如同其他所有工作)的最佳方法是什么,并让反应更新DOM元素。
请注意: - 我认为这很好用。反应15.x.现在使用16.0.0; - 在这个玩具示例中,我显然可以使用高度:&#34; 100%&#34;但在现实生活中,我没有这种奢侈品,必须以最终取决于视口尺寸的方式计算尺寸。
答案 0 :(得分:0)
McGyver在这里做了什么修复,在控制台上阅读这些警告然后如果我得到那些警告:
setTimeout(function(){
ReactDOM.unmountComponentAtNode(RoboReact.rootParent);
ReactDOM.render(RoboReact.rootElement,RoboReact.rootParent);
},100);
(由于某种原因似乎无法使用setTimeout)