0

假设我有一个具有以下渲染方法的非常简单的应用程序。

render(){
    return (<div style={{height:window.innerHeight}}/>);
}

生成以下 DOM:

<div data-reactroot="">
    <div style="height:938px">
    </div>
</div>

现在,当我尝试重新水化 DOM 时,我收到一条警告,说 style prop 不匹配,但除此之外一切仍然正常,除了 div 的高度没有更新到应有的值。

修复警告或忽略它(因为其他一切正常)并使反应更新 DOM 元素的最佳方法是什么。

请注意: - 我认为这很好 w。反应 15.x。现在使用 16.0.0;- 在这个玩具示例中,我显然可以只使用 height:"100%" 但在现实生活中我没有这种奢侈,并且必须以最终取决于视口大小的方式计算尺寸。

4

1 回答 1

0

在这里做了一个 McGyver 修复,阅读控制台以获取这些警告,然后如果我得到这些:

setTimeout(function(){
                ReactDOM.unmountComponentAtNode(RoboReact.rootParent);
                ReactDOM.render(RoboReact.rootElement,RoboReact.rootParent);
        },100);

(由于某种原因,没有 setTimeout 似乎不起作用)

于 2017-09-05T12:47:15.777 回答