What it means
useRsxExpression watches one RS-X expression instance and returns its current value to the component. useRsxModel lets a component read fields from a model object and keeps those field values up to date as the model changes. In both cases, RS-X tracks the dependencies and React re-renders when the value used by the component changes.
The important rule for React and Next.js client components is that useRsxExpression should receive an expression instance that was created earlier, not a new one created during the current render. In practice, that usually means either creating the model and expression at module scope or creating them inside the component with useMemo. Rebinding the expression during render creates a new RS-X object graph every time React renders, which breaks the subscription lifecycle and can lead to confusing runtime behavior.