核心结论
组件暴露命令式能力时,应把引用设计成独立、稳定、最小化的公共句柄,而不是默认暴露整个组件实例、内部状态或底层元素。句柄只包含调用方确实需要的操作,例如 focus、select、reset、validate、scrollTo。在 React 中通常使用 forwardRef 转发引用,并使用 useImperativeHandle 构造句柄;在 Vue 中可通过 defineExpose 明确公开成员。引用类型还必须包含未挂载、条件渲染和卸载后的空值状态。这样既能控制父组件的能力边界,也能避免内部标签、状态管理方案或第三方实现变化时破坏调用方。
底层机制
引用描