LoginSignup
3
1

More than 5 years have passed since last update.

[react 16 breaking changes]refsコールバック実行タイミング

Last updated at Posted at 2017-10-31

refsのコールバック実行タイミング

下記のreact 16の変更点に示された通り、refsコールバック関数の呼び出されるタイミングが、VirtualDom更新時ではなく、物理DOMに反映された時になります。

Shallow renderer no longer calls componentDidUpdate because DOM refs are not available.
This also makes it consistent with componentDidMount (which does not get called in previous versions either).

そのため、componentDidMountメソッドではrefコールバックで保存されたthis.refDomがnullになりますので、元々componentDidMountめそっどで行われたthis.refDomを使った処理をrefコールバックに移行しなければなりません。

<div
  ref={(input) => {
    this.refInput = input;
    // ここでやる
    ...
  }}
  >
  ...
</div>

参考情報

React v16.0

Refs and the DOM

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1