为了账号安全,请及时绑定邮箱和手机立即绑定

react componentDidMount时机问题

react componentDidMount时机问题

慕无忌1623718 2019-03-14 14:15:59
componentDidMount是组件确实渲染成了dom后触发,如果我在这时候append一个绝对定位top0的有颜色的div,预期效果应该是先显示react组件,后立马显示红色div但是实际是直接显示红色div了,都没有闪一下的效果,这是为何?class App extends Component {  constructor(){    super();  }  componentDidMount() {    const div=document.createElement('div');    div.style='position:absolute;height:100px;width:100vw;background:blue;top:0';    document.body.appendChild(div)  }  render(){      return (      <div style={{background:'red'}}>hello world</div>    )  }}
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

同1楼,这个过程肉眼是看不出来的。就想同理如果在这个生命在后期中调用api来获取数据,实际是调用了2次,但是在浏览器中,是根本看不出来的。


查看完整回答
反对 回复 2019-04-09
?
慕沐林林

TA贡献2016条经验 获得超9个赞

你为什么会觉得现代计算机有这么慢?
想看效果自己用setTimeout设置延迟。

查看完整回答
反对 回复 2019-04-09
?
茅侃侃

TA贡献1842条经验 获得超21个赞

render部分写法有误


render() {

    return (

      <div style={{background:'red'}}>hello world</div>

    )

 }

现在应该可以先看到红色,然后再看到蓝色了


查看完整回答
反对 回复 2019-04-09
  • 3 回答
  • 0 关注
  • 590 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信