mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
Wrap the useCodeMirrorMeasurement state setter in a timeout (#16818)
GitOrigin-RevId: 9f7c12f679ab3947724cc52c63fcee198c73ae87
This commit is contained in:
@@ -8,7 +8,7 @@ export default function useCodeMirrorMeasurement(
|
||||
measure: (view: EditorView) => number
|
||||
) {
|
||||
const view = useCodeMirrorViewContext()
|
||||
const [measurement, setMeasurement] = useState(measure(view))
|
||||
const [measurement, setMeasurement] = useState(() => measure(view))
|
||||
|
||||
useEventListener(
|
||||
'editor:geometry-change',
|
||||
@@ -17,7 +17,10 @@ export default function useCodeMirrorMeasurement(
|
||||
key,
|
||||
read: () => measure(view),
|
||||
write(value) {
|
||||
setMeasurement(value)
|
||||
// wrap the React state setter in a timeout so it doesn't run inside the CodeMirror update cycle
|
||||
window.setTimeout(() => {
|
||||
setMeasurement(value)
|
||||
})
|
||||
},
|
||||
})
|
||||
}, [view, measure, key])
|
||||
|
||||
Reference in New Issue
Block a user