ReactJS - ComponentDidMount在渲染之前执行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ReactJS - ComponentDidMount在渲染之前执行相关的知识,希望对你有一定的参考价值。
我有一些反应问题。我在渲染时使用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)));
}
在“现场......”之前打印“didMount”。我怎么解决这个问题?看来地图是异步的。
Thank´s
答案
你是如何初始化你的this.state.fields
的?如果你在componentDidMount
函数中执行它,那么console.info("field" + field);
永远不会被执行,因为字段/数组是null。
初始化/更新状态后,使用setState callback参数运行代码。
以上是关于ReactJS - ComponentDidMount在渲染之前执行的主要内容,如果未能解决你的问题,请参考以下文章
ReactJS - 在 ReactJS 中创建一个 Util 函数以重用代码
Reactjs - 如何在 reactjs 材料表中加载和映射数据