ReactDOM.render和ifram的onload事件的执行顺序如何?

#1

我的一个页面x.jsp使用了最简单的React实例如下:

<script type="text/babel">
  ReactDOM.render(
    <Clock />,
    document.getElementById('root')
    )
</script>

显示一切正常。

但是将x.jsp嵌在iframe并试图在iframe的onload事件中改变iframe的高度时出现问题。

经实验,在ie11中,React先执行onload后触发;在火狐中,onload先触发React后执行。我并不理解ReactDOM.render()的原理,比如为什么将上面的代码放到上面依然能执行,所以更不用说它和onload的顺序问题了。

有人能为我讲解一下吗?或者直接告诉我怎么完成“在使用react的iframe的onload事件中动态改变iframe的高度”。我有种想法,是使用计数算法,对于页面的共有对象,在react初始化时+1,在加载完毕时-1,监听其当是0时执行父页面方法改变iframe高度。但是很麻烦,而且我隐约觉得不大对。

再拜叩首。

#2

你好。我最近也在做jsp+react的项目。想请教一下,react的组件js写法。我按以下写法报错。
const React = require(“react.production.min.js”);

class AntdButton extends React.Component{
render() {
return (


测试组件引用!

);
}
}

export default AntdButton