chore: upgrade React 18→19 and fix breaking type changes
- react 18.2.0 to 19.2.6
- react-dom 18.2.0 to 19.2.6
- @types/react 18.2.39 to 19.2.15
- @types/react-dom 18.2.17 to 19.2.3
React 19 breaking changes fixed:
- useRef<T>(null) now returns RefObject<T | null>; cast to
RefObject<T> at 16 component call sites (safe, runtime unchanged)
- useRef<T>() without arg no longer valid; add | undefined>(undefined)
in useDebounce, useFileDrop, useThrottle, useVirtualPaginator hooks,
RoomInput, RoomTimeline, and ClientNonUIFeatures
- useReducer<typeof reducer> 1-arg form removed; drop explicit type arg
in useForceUpdate (inferred from reducer function)
- global JSX namespace removed; import type { JSX } from react in
react-custom-html-parser.tsx
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -166,16 +166,22 @@ export const useVirtualPaginator = <TScrollElement extends HTMLElement>(
|
||||
|
||||
const initialRenderRef = useRef(true);
|
||||
|
||||
const restoreScrollRef = useRef<{
|
||||
scrollTop: number;
|
||||
anchorOffsetTop: number;
|
||||
anchorItem: number;
|
||||
}>();
|
||||
const restoreScrollRef = useRef<
|
||||
| {
|
||||
scrollTop: number;
|
||||
anchorOffsetTop: number;
|
||||
anchorItem: number;
|
||||
}
|
||||
| undefined
|
||||
>(undefined);
|
||||
|
||||
const scrollToItemRef = useRef<{
|
||||
index: number;
|
||||
opts?: ScrollToOptions;
|
||||
}>();
|
||||
const scrollToItemRef = useRef<
|
||||
| {
|
||||
index: number;
|
||||
opts?: ScrollToOptions;
|
||||
}
|
||||
| undefined
|
||||
>(undefined);
|
||||
|
||||
const propRef = useRef({
|
||||
range,
|
||||
|
||||
Reference in New Issue
Block a user