Skip to content

Commit ad686c5

Browse files
author
Brian Vaughn
committed
Removed 'isHovered' bool; fixed broken memoization
1 parent 1614972 commit ad686c5

File tree

5 files changed

+19
-25
lines changed

5 files changed

+19
-25
lines changed

packages/react-devtools-shared/src/devtools/views/Profiler/ChartNode.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ type Props = {|
1515
color: string,
1616
height: number,
1717
isDimmed?: boolean,
18-
isHovered?: boolean,
1918
label: string,
2019
onClick: (event: SyntheticMouseEvent<*>) => mixed,
2120
onDoubleClick?: (event: SyntheticMouseEvent<*>) => mixed,
@@ -34,7 +33,6 @@ export default function ChartNode({
3433
color,
3534
height,
3635
isDimmed = false,
37-
isHovered = false,
3836
label,
3937
onClick,
4038
onMouseEnter,
@@ -57,7 +55,7 @@ export default function ChartNode({
5755
onDoubleClick={onDoubleClick}
5856
className={styles.Rect}
5957
style={{
60-
opacity: isHovered ? 0.75 : isDimmed ? 0.5 : 1,
58+
opacity: isDimmed ? 0.5 : 1,
6159
}}
6260
/>
6361
{width >= minWidthToDisplay && (

packages/react-devtools-shared/src/devtools/views/Profiler/CommitFlamegraph.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import type {CommitTree} from './types';
2929

3030
export type ItemData = {|
3131
chartData: ChartData,
32-
isHovered: boolean,
3332
onElementMouseEnter: (fiberData: TooltipFiberData) => void,
3433
onElementMouseLeave: () => void,
3534
scaleX: (value: number, fallbackValue: number) => number,
@@ -131,20 +130,22 @@ function CommitFlamegraph({chartData, commitTree, height, width}: Props) {
131130
return null;
132131
}, [chartData, selectedFiberID, selectedChartNodeIndex]);
133132

134-
const handleElementMouseEnter = ({id, name}) => {
135-
highlightNativeElement(id); // Highlight last hovered element.
136-
setHoveredFiberData({id, name}); // Set hovered fiber data for tooltip
137-
};
133+
const handleElementMouseEnter = useCallback(
134+
({id, name}) => {
135+
highlightNativeElement(id); // Highlight last hovered element.
136+
setHoveredFiberData({id, name}); // Set hovered fiber data for tooltip
137+
},
138+
[highlightNativeElement],
139+
);
138140

139-
const handleElementMouseLeave = () => {
141+
const handleElementMouseLeave = useCallback(() => {
140142
clearHighlightNativeElement(); // clear highlighting of element on mouse leave
141143
setHoveredFiberData(null); // clear hovered fiber data for tooltip
142-
};
144+
}, [clearHighlightNativeElement]);
143145

144146
const itemData = useMemo<ItemData>(
145147
() => ({
146148
chartData,
147-
isHovered: hoveredFiberData !== null,
148149
onElementMouseEnter: handleElementMouseEnter,
149150
onElementMouseLeave: handleElementMouseLeave,
150151
scaleX: scale(
@@ -162,7 +163,6 @@ function CommitFlamegraph({chartData, commitTree, height, width}: Props) {
162163
}),
163164
[
164165
chartData,
165-
hoveredFiberData,
166166
handleElementMouseEnter,
167167
handleElementMouseLeave,
168168
selectedChartNode,

packages/react-devtools-shared/src/devtools/views/Profiler/CommitFlamegraphListItem.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ type Props = {
2828
function CommitFlamegraphListItem({data, index, style}: Props) {
2929
const {
3030
chartData,
31-
isHovered,
3231
onElementMouseEnter,
3332
onElementMouseLeave,
3433
scaleX,
@@ -116,7 +115,6 @@ function CommitFlamegraphListItem({data, index, style}: Props) {
116115
color={color}
117116
height={lineHeight}
118117
isDimmed={index < selectedChartNodeIndex}
119-
isHovered={isHovered}
120118
key={id}
121119
label={label}
122120
onClick={event => handleClick(event, id, name)}

packages/react-devtools-shared/src/devtools/views/Profiler/CommitRanked.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import type {CommitTree} from './types';
2929

3030
export type ItemData = {|
3131
chartData: ChartData,
32-
isHovered: boolean,
3332
onElementMouseEnter: (fiberData: TooltipFiberData) => void,
3433
onElementMouseLeave: () => void,
3534
scaleX: (value: number, fallbackValue: number) => number,
@@ -113,20 +112,22 @@ function CommitRanked({chartData, commitTree, height, width}: Props) {
113112
[chartData, selectedFiberID],
114113
);
115114

116-
const handleElementMouseEnter = ({id, name}) => {
117-
highlightNativeElement(id); // Highlight last hovered element.
118-
setHoveredFiberData({id, name}); // Set hovered fiber data for tooltip
119-
};
115+
const handleElementMouseEnter = useCallback(
116+
({id, name}) => {
117+
highlightNativeElement(id); // Highlight last hovered element.
118+
setHoveredFiberData({id, name}); // Set hovered fiber data for tooltip
119+
},
120+
[highlightNativeElement],
121+
);
120122

121-
const handleElementMouseLeave = () => {
123+
const handleElementMouseLeave = useCallback(() => {
122124
clearHighlightNativeElement(); // clear highlighting of element on mouse leave
123125
setHoveredFiberData(null); // clear hovered fiber data for tooltip
124-
};
126+
}, [clearHighlightNativeElement]);
125127

126128
const itemData = useMemo<ItemData>(
127129
() => ({
128130
chartData,
129-
isHovered: hoveredFiberData !== null,
130131
onElementMouseEnter: handleElementMouseEnter,
131132
onElementMouseLeave: handleElementMouseLeave,
132133
scaleX: scale(0, chartData.nodes[selectedFiberIndex].value, 0, width),
@@ -137,7 +138,6 @@ function CommitRanked({chartData, commitTree, height, width}: Props) {
137138
}),
138139
[
139140
chartData,
140-
hoveredFiberData,
141141
handleElementMouseEnter,
142142
handleElementMouseLeave,
143143
selectedFiberID,

packages/react-devtools-shared/src/devtools/views/Profiler/CommitRankedListItem.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ type Props = {
2727
function CommitRankedListItem({data, index, style}: Props) {
2828
const {
2929
chartData,
30-
isHovered,
3130
onElementMouseEnter,
3231
onElementMouseLeave,
3332
scaleX,
@@ -69,7 +68,6 @@ function CommitRankedListItem({data, index, style}: Props) {
6968
color={getGradientColor(node.value / chartData.maxValue)}
7069
height={lineHeight}
7170
isDimmed={index < selectedFiberIndex}
72-
isHovered={isHovered}
7371
key={node.id}
7472
label={node.label}
7573
onClick={handleClick}

0 commit comments

Comments
 (0)