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 - 如何在 reactjs 材料表中加载和映射数据

ReactJS学习笔记-深入理解ReactJS的面向组件即对象

ReactJS学习笔记-深入理解ReactJS的面向组件即对象