Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: AccordionPanel 開閉時にコンソールエラーが発生する問題を修正 #4777

Merged
merged 1 commit into from
Jul 12, 2024

Conversation

s-sasaki-0529
Copy link
Contributor

@s-sasaki-0529 s-sasaki-0529 commented Jul 12, 2024

Related URL

N/A

Overview

AccordionPanel を開いた際に、確定で以下のエラーがコンソール上に発生する (開発環境のみ)

Warning: findDOMNode is deprecated and will be removed in the next major release. Instead, add a ref directly to the element you want to reference.

これは react-transition-group<Transition> コンポーネントにて React.findDOMNode を使用しているが、これは既に非推奨な関数で、次期バージョン (React 19) では廃止されるため、それを警告するメッセージが表示されている。

長期的には React 19 でも AccordionPanel を使用できるようにするため、短期的には余計なコンソールエラーを表示させないためにこの問題を解消したい。

What I did

以下 Issue を参考にすると、Transition コンポーネントは、トランジション対象の要素を取得するために React.findDOMNode を使用しているが、対象要素を nodeRef props で渡してあげることで、これの実行を回避することができる模様。

なので、現行では React.findDOMNode で取得される要素の ref を渡してあげることで、挙動を変えずにこの問題を修正する。

確認したこと

Storybook で AccordionPanel のストーリーを開き、パネルを開くと

  • 変更前: コンソールエラーが出る
  • 変更後: コンソールエラーが出ない


return (
<Transition in={isInclude} timeout={150}>
<Transition in={isInclude} timeout={150} nodeRef={nodeRef}>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

refs: https://reactcommunity.org/react-transition-group/transition#Transition-prop-nodeRef

This prop is optional, but recommended in order to avoid defaulting to ReactDOM.findDOMNode, which is deprecated in StrictMode

とのことなので従う。 react-transition-group 自体もう2年間更新されていないので、この回避法で良さそう。

@s-sasaki-0529 s-sasaki-0529 marked this pull request as ready for review July 12, 2024 09:09
@s-sasaki-0529 s-sasaki-0529 requested a review from a team as a code owner July 12, 2024 09:09
@s-sasaki-0529 s-sasaki-0529 requested review from yt-ymmt and hiroki0525 and removed request for a team July 12, 2024 09:09
Copy link
Member

@Tokky0425 Tokky0425 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ありがとうございます! 🌮

@uknmr uknmr merged commit 25f8f83 into master Jul 12, 2024
9 checks passed
@uknmr uknmr deleted the fix-accordion-panel-error branch July 12, 2024 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants