react-railsでアプリを書いていると、下記のような"warning"に出会った。
Warning: unmountComponentAtNode(): The node you're attempting to unmount was rendered by another copy of React.
調べてみると下記のissueにたどり着いた。
内容を見てみると、以前に修正されてはいるんだけど、バージョン上げたらまた出てきたよ!という内容のようだ。
なお、この時点での最新バージョンは下記のとおりとなる。
・react-rails (v2.2.0)
・webpacker gem (v2.0)
---------追記---------
そうそう、自身の環境を書き忘れていたので、下記に追記
・Rails 5.0.2
・react-rails (1.11.0)
なお、webpackerは使用していない。
------追記終わり------
そして、以前あがっていたissueとは下記のものになるよう。
issue内にも書かれているとおり、下記のコードを"application.js"に追記したら、warningが出なくなった。
ReactRailsUJS.handleEvent('turbolinks:before-cache', function() { window.ReactRailsUJS.unmountComponents(); });
ちなみにreact-railsは今年リリースした"Sauna Map of Japan"にて使用中。
フロント側は元々jQueryで書いていたのだが、今回react-railsを使って、絶賛書き直し中。
自身の勉強を兼ねてもいる。今更な話ではあるが、react良いですね〜
Sauna Map of Japan
https://sauna-map-of-japan.herokuapp.com/
そういえば、久しぶりのブログ更新になりました。
あと、少し前にMediumにも近況載せました。
最近フロントエンド側でコード書いていますよ、という話。