React Hooks 규칙 위반 수정 - useSetOnRightClick
문제: - useSetOnRightClick 훅이 useEffect 안에서 호출되어 에러 발생 - "Invalid hook call" 에러 발생 수정 사항: - useSetOnRightClick을 컴포넌트 최상위 레벨로 이동 - 조건부로 함수 또는 undefined를 전달하도록 변경 - useSetOnRightClick 훅의 의존성 배열에 fn 추가 - fn이 undefined일 때도 올바르게 처리하도록 개선 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -54,11 +54,8 @@ export const UserLoginAuthInfoPage = () => {
|
||||
});
|
||||
|
||||
// 현재 로그인한 사용자가 아닌 경우에만 삭제 버튼 표시
|
||||
useEffect(() => {
|
||||
if (usrid && currentUsrid && usrid !== currentUsrid) {
|
||||
useSetOnRightClick(() => handleDeleteUser);
|
||||
}
|
||||
}, [usrid, currentUsrid]);
|
||||
const isDeleteAllowed = usrid && currentUsrid && usrid !== currentUsrid;
|
||||
useSetOnRightClick(isDeleteAllowed ? handleDeleteUser : undefined);
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@@ -22,11 +22,15 @@ export const useSetOnBack = (fn: any) => {
|
||||
export const useSetOnRightClick = (fn: any) => {
|
||||
const { setOnRightClick } = useSubLayoutContext();
|
||||
useEffect(() => {
|
||||
setOnRightClick(() => fn);
|
||||
if (fn) {
|
||||
setOnRightClick(() => fn);
|
||||
} else {
|
||||
setOnRightClick(() => undefined);
|
||||
}
|
||||
return () => {
|
||||
setOnRightClick(() => undefined);
|
||||
};
|
||||
}, [setOnRightClick]);
|
||||
}, [fn, setOnRightClick]);
|
||||
return { setOnRightClick };
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user