我正在尝试定期重新加载 iframe,但我使用的是 React,因此我无法直接操作 DOM。似乎我最好的选择是使用 forceUpdate(),因为 url 没有改变,所以我不能使用状态更改来更新它(请参阅上一篇文章:使用 React 定期重新加载 iframe 的最佳方法是什么?)。但是,当我尝试执行 forceUpdate() 时,它不会重新渲染我的组件。关于为什么的任何想法?
var Graph = React.createClass({
componentDidMount: function() {
setInterval(function(){
this.forceUpdate();
}.bind(this), 5000);
},
render() {
return (
<iframe src="http://play.grafana.org/dashboard/db/elasticsearch-metrics" width="1900px" height="700px"/>
)
}
});
在此处查看代码笔:http ://codepen.io/anon/pen/ggPGPQ
**我知道可以将 grafana 设置为自动更新,我只是将其用作 iframe 示例。