• Bojack
    2019-01-17
    getsnapshotbeforeupdate 应该是在render 之后调用的吧

    作者回复: 是的。render 调用后触发 update 流程。

    
     3
  • wade2999
    2018-12-16
    老师你好,在SnapshotSample demo里, componentDidUpdate里面的参数,prevState, prevProps以及prevScrollHeight是从哪里得到的呢? 另外在handleNewMessage那里的prev又是从哪里得到的呢?我把它改成了this.state.Messages, 反而不是从20而是从0开始了。不太清楚为什么

    作者回复: componentDidUpdate 是标准的组件 lifecycle 方法,prevState,prevProps 表示上一次 render 的状态和属性。而 prevScrollHeight 则来自 getSnapshotBeforeUpdate 的返回值。this.setState 可以接受一个函数作为参数,prev 就是上一个 state。可以参考官方文档:https://reactjs.org/docs/react-component.html#setstate

    
     3
  • matwming
    2018-11-17
    老师讲的真好,非常适合有一定基础的人看,更能深刻领悟老师讲的东西。

    作者回复: 感谢支持!

    
     2
  • Steven在学习
    2018-12-11
    老师,handleNewMessagel 这个方法不用bind, 是怎么调到this的? 我在项目里,function都得在constructor里bind一下,才能调到this。

    作者回复: 这是用的 class property 语法,属于考察期的语法规范,但是 babel 可以支持。method = () => {} 这种方式的类成员定义会自动绑定 this。

    
     1
  • 老玉米
    2018-11-20
    老师,为什么要加上这个 ref = { node => ( this.rootNode = node)} ,这个node 指的是什么?

    作者回复: ref 可以获取原生节点的引用,这里的node 就是原生节点,存起来可供后续直接访问。

    
     1
  • Mavericker
    2018-10-22
    老师您好问一下您的demo中state没有放在constructor里面写,而是直接使用this.state呢?

    作者回复: 也可以放在 constructor 里,两者是一样的,如果 state 是直接生命的值,作为类的属性更加直观点。

    
     1
  • tt716
    2018-06-24
    componentWillMount现在已经去掉了么

    作者回复: 是的,16.3 中已经去掉,同时去掉的还有 componentWillReceiveProps, componentWillUpdate

    
     1
  • 达文西
    2020-02-01
    确实需要一定基础,决定对着官方文档撸一遍再回头看老师的视频加深理解
    
    
  • seamoontime
    2019-08-16
    老师,这个PPT在哪啊。

    作者回复: PPT 没有下载哦。

    
    
  • Johnny/::+&...
    2019-03-05
    老师,你好! 为什么下面的函数要用this.timer 而不能是var timer ?
      componentDidMount() {
        this.timer = setInterval(() => this.tick, 1000)
      }
     1
    
  • 杨茗
    2019-02-18
    老师,有以下问题需要请教一下
    1、componentWillMount这个生命周期为什么没有提到,是最新版本已经去掉了么?
    2、之前自学react时,有文档说是,在componentWillMount方法里发起ajax。这种说法是否正确

    作者回复: componentWillMount 已经 deprecated,后面版本会移除,建议在 componentDidUpdate 和 componentDidMount 里发起 ajax 请求。

    
    
  • 草雨.路
    2019-01-19
    老师, 我看react 16.6.3的文档(https://react.docschina.org/docs/state-and-lifecycle.html)里放的生命周期图解里面还有 componentWillReceiveProps, componentWillUpdate这两个方法, 但是却没有看见getsnapshotbeforeupdate和另外一个你讲的新方法, 所以感觉有点混乱, 你能否给一个现在最新的react生命周期图解呢

    作者回复: 你看的中文文档没有及时更新,componentWillReceiveProps componentWillUpdate 都是过期的方法,未来版本会移除。建议以英文官方文档为主。

    
    
  • 小妖精
    2019-01-19
    很赞
    
    
  • dave-wind
    2018-10-10
    老师你好,在SnapshotSample demo里 关于滚动条抖动问题 其实在render()里 messages map方法里给每个div加上 key 就好了 不需要用到getSnapshotBeforeUpdate生命周期 请问这么做和您这么写有啥区别呢?

    作者回复: 加上 key 之后是浏览器的自动优化调整了 scrollTop。这里演示的是如果需要 update 前获取 dom 状态,那么需要用这个 api。

    
    
  • 庸者的救赎
    2018-07-10
    在定时器的事件绑里面,用了箭头函数,如果多次render,会多次生成么?我看了material design源码,是在外部使用实例方法,然后绑定的时候直接this.xxx。不知道描述的老师明白了吗?😂

    作者回复: render 中的箭头函数每次 render 都会生成,为避免可以用 es6 属性语法定义:doSomething = ()=> {}

     1
    
我们在线,来聊聊吧