home wiki.fukuchiharuki.me
Menu

違うちがう、refの使い方間違えてるかも。

キーワード

  • React
  • コンポーネント
  • react-new-window

したいこと

react-new-window で開いた別ウィンドウを印刷させたい、のがきっかけ。

window.print();

すると、親ウィンドウが印刷されてしまう。

ので、react-new-window がそのコンポーネントで保持する this.window の値を取得したい。react-new-window は window.open() したときの戻り値を this.window に保持している。

どうやって

ref を使う。

<NewWindow {...newWindowProps} ref={element => this.printWindow = element ? element.window : null} />

ちなみに

element がないよ、みたいなタイミングがあったので三項演算子した。

なお、this.printWindow とするには関数ではくて React.Component のサブクラスにする必要がある。

参考