From 71f03ee444ba41e53c0e181d12409aae5722ded9 Mon Sep 17 00:00:00 2001 From: Jordan Thomson Date: Tue, 15 Oct 2024 09:09:34 +1100 Subject: [PATCH] deprecate `IObserver` options and its properties in JSDoc --- packages/mobx-react-lite/src/observer.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/mobx-react-lite/src/observer.ts b/packages/mobx-react-lite/src/observer.ts index 1ca3f9801..9baf579ff 100644 --- a/packages/mobx-react-lite/src/observer.ts +++ b/packages/mobx-react-lite/src/observer.ts @@ -18,13 +18,27 @@ const ReactMemoSymbol = hasSymbol ? Symbol.for("react.memo") : typeof memo === "function" && memo((props: any) => null)["$$typeof"] +/** + * @deprecated Observer options will be removed in the next major version of mobx-react-lite. + * Look at the individual properties for alternatives. + */ export interface IObserverOptions { + /** + * @deprecated Pass a `React.forwardRef` component to observer instead of using the options object + * e.g. `observer(React.forwardRef(fn))` + */ readonly forwardRef?: boolean } export function observer

( baseComponent: React.ForwardRefRenderFunction, - options: IObserverOptions & { forwardRef: true } + options: IObserverOptions & { + /** + * @deprecated Pass a `React.forwardRef` component to observer instead of using the options object + * e.g. `observer(React.forwardRef(fn))` + */ + forwardRef: true + } ): React.MemoExoticComponent< React.ForwardRefExoticComponent & React.RefAttributes> >