我有一些反应问题。我在渲染时使用map函数,并在完成之前调用函数componentDidMount。
我的代码片段
componentDidMount: function() {
console.info("didMount");
},
render: function() {
return React.createElement("div", null,
this.state.fields.map(function(field) {
console.info("field" + field);
return React.createElement("span", null, field);
}.bind(this)));
}
在“field ......”之前打印“didMount”。我怎么解决这个问题?看来地图是异步的。
Thank's
答案 0 :(得分:0)
您是如何初始化<div class="row">
<div class="parent">
<img src="http://via.placeholder.com/100x100" alt="">
<div class="child">
<div class="position">Developer</div>
<div class="name">Name Nmae</div>
</div>
</div>
<div class="parent">
<img src="http://via.placeholder.com/100x100" alt="">
<div class="child">
<div class="position">Developer</div>
<div class="name">Name Nmae</div>
</div>
</div>
<div class="parent">
<img src="http://via.placeholder.com/100x100" alt="">
<div class="child">
<div class="position">Developer</div>
<div class="name">Name Nmae</div>
</div>
</div>
</div>
<div class="row">
<div class="parent">
<img src="http://via.placeholder.com/100x100" alt="">
<div class="child">
<div class="position">Developer</div>
<div class="name">Name Nmae</div>
</div>
</div>
<div class="parent">
<img src="http://via.placeholder.com/100x100" alt="">
<div class="child">
<div class="position">Developer</div>
<div class="name">Name Nmae</div>
</div>
</div>
</div>
的?如果在this.state.fields
函数中执行此操作,则componentDidMount
永远不会执行,因为字段/数组为空。
在状态初始化/更新后,使用setState callback参数运行代码。