Skip to content

Commit bdaf038

Browse files
committed
perf: memo onMouseEnter、onMouseLeave
1 parent b0b072c commit bdaf038

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

src/Cell/index.tsx

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -153,21 +153,27 @@ function Cell<RecordType>(props: CellProps<RecordType>) {
153153
// ====================== Hover =======================
154154
const [hovering, onHover] = useHoverState(index, mergedRowSpan);
155155

156-
const onMouseEnter: React.MouseEventHandler<HTMLTableCellElement> = event => {
157-
if (record) {
158-
onHover(index, index + mergedRowSpan - 1);
159-
}
156+
const onMouseEnter: React.MouseEventHandler<HTMLTableCellElement> = React.useCallback(
157+
event => {
158+
if (record) {
159+
onHover(index, index + mergedRowSpan - 1);
160+
}
160161

161-
additionalProps?.onMouseEnter?.(event);
162-
};
162+
additionalProps?.onMouseEnter?.(event);
163+
},
164+
[record, onHover, index, mergedRowSpan, additionalProps?.onMouseEnter],
165+
);
163166

164-
const onMouseLeave: React.MouseEventHandler<HTMLTableCellElement> = event => {
165-
if (record) {
166-
onHover(-1, -1);
167-
}
167+
const onMouseLeave: React.MouseEventHandler<HTMLTableCellElement> = React.useCallback(
168+
event => {
169+
if (record) {
170+
onHover(-1, -1);
171+
}
168172

169-
additionalProps?.onMouseLeave?.(event);
170-
};
173+
additionalProps?.onMouseLeave?.(event);
174+
},
175+
[record, onHover, additionalProps?.onMouseLeave],
176+
);
171177

172178
// ====================== Render ======================
173179
if (mergedColSpan === 0 || mergedRowSpan === 0) {

0 commit comments

Comments
 (0)