Skip to content

Commit db06e80

Browse files
authored
SegmentedControl - handle onLayout being called twice (#2028)
1 parent 5bf3564 commit db06e80

File tree

1 file changed

+1
-8
lines changed

1 file changed

+1
-8
lines changed

src/components/segmentedControl/index.tsx

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import {Colors, BorderRadiuses, Spacings} from '../../style';
1414
import {Constants, asBaseComponent} from '../../commons/new';
1515
import View from '../view';
1616
import Segment, {SegmentedControlItemProps as SegmentProps} from './segment';
17-
import {useOrientation} from 'hooks';
1817

1918
const BORDER_WIDTH = 1;
2019
const TIMING_CONFIG: WithTimingConfig = {
@@ -106,13 +105,6 @@ const SegmentedControl = (props: SegmentedControlProps) => {
106105
const segmentedControlHeight = useSharedValue(0);
107106
const segmentsCounter = useRef(0);
108107

109-
useOrientation({
110-
onOrientationChange: () => {
111-
segmentsCounter.current = 0;
112-
segmentsStyle.value = [];
113-
}
114-
});
115-
116108
// eslint-disable-next-line react-hooks/exhaustive-deps
117109
const changeIndex = useCallback(_.throttle(() => {
118110
onChangeIndex?.(animatedSelectedIndex.value);
@@ -144,6 +136,7 @@ const SegmentedControl = (props: SegmentedControlProps) => {
144136

145137
if (segmentsCounter.current === segments?.length) {
146138
segmentsStyle.value = [...segmentsStyle.value];
139+
segmentsCounter.current = 0; // in case onLayout will be called again (orientation change etc.)
147140
}
148141
},
149142
// eslint-disable-next-line react-hooks/exhaustive-deps

0 commit comments

Comments
 (0)