Skip to content

refactor(DialogOverlap): useEffectの依存配列からchildrenを削除#6411

Open
AtsushiM wants to merge 1 commit into
masterfrom
refactor/dialog-overlap-remove-children-from-deps
Open

refactor(DialogOverlap): useEffectの依存配列からchildrenを削除#6411
AtsushiM wants to merge 1 commit into
masterfrom
refactor/dialog-overlap-remove-children-from-deps

Conversation

@AtsushiM

Copy link
Copy Markdown
Member

関連URL

なし

概要

eslint-config-smarthr@14.7.0で追加されたsmarthr/best-practice-for-unstable-dependenciesルールへの対応として、DialogOverlapコンポーネントのuseEffectの依存配列からchildrenを削除します。

変更内容

  • childrenをrefで保存し、毎レンダリング時に最新の値を更新
  • useEffectの依存配列からchildrenを削除し、isOpenのみにする
  • 不要な再実行を防止しつつ、動作は変わらず

実装の詳細

// childrenをrefに保存(毎レンダリング時に最新の値を設定)
const childrenRef = useRef(children)
childrenRef.current = children

useEffect(() => {
  if (isOpen) {
    setChildrenBuffer(childrenRef.current)
  }
}, [isOpen])

DialogOverlapは、ダイアログが閉じる際のアニメーション中に表示するためにchildrenをバッファリングするコンポーネントです。isOpenがtrueの時に最新のchildrenをバッファに保存し、閉じる際にそのバッファを使用します。

プロダクト側で対応が必要な事項

なし

確認方法

  • 既存のテストが通ることを確認
  • Storybookで動作確認

- childrenをrefで保存し、useEffect内で参照
- 依存配列から不安定な参照であるchildrenを削除

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@AtsushiM AtsushiM requested a review from a team as a code owner June 19, 2026 00:04
@AtsushiM AtsushiM requested review from saitolume and uknmr and removed request for a team June 19, 2026 00:04
@pkg-pr-new

pkg-pr-new Bot commented Jun 19, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@smarthr/smarthr-ui-charts@6411
npm i https://pkg.pr.new/smarthr-ui@6411

commit: 08ea6ac

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.

1 participant