React Vue3 API 速查
· 阅读需 3 分钟
React 组件 API:
| API | 描述 |
|---|---|
| render() | 返回需要渲染的元素,或者返回 null |
| constructor() | 组件的构造函数,在创建组件的时候调用 |
| componentDidMount() | 在组件挂载到 DOM 后立即调用 |
| componentDidUpdate() | 在组件进行更新后立即调用 |
| componentWillUnmount() | 在组件卸载及销毁之前立即调用 |
| shouldComponentUpdate() | 通过比较新旧 props 和 state 来决定组件是否应该更新,返回一个布尔值 |
| static getDerivedStateFromProps() | 当 state 需要从 props 初始化时使用 |
| getSnapshotBeforeUpdate() | 在更新后,但在 DOM 变更之前调用 |
React 基础 Hooks:
| Hook | 描述 |
|---|---|
| useState() | 让函数组件也能有 state(状态) |
| useEffect() | 用来替代生命周期函数,如 componentDidMount, componentDidUpdate, componentWillUnmount |
| useContext() | 接受一个 context 对象(React.createContext 的返回值)并返回该 context 的当前值 |
额外的 Hooks:
| Hook | 描述 |
|---|---|
| useReducer() | 替代 useState,接受一个形如 (state, action) => newState 的 reducer,并返回当前的 state,以及与其配套的 dispatch 方法 |
| useCallback() | 返回一个记忆的版本,该版本仅在其中的依赖项更改时才会更改 |
| useMemo() | 返回一个记忆的值,只有当其中的依赖项更改时才会重新计算 |
| useRef() | 返回一个可变的 ref 对象,其 .current 属性被初始化为传入的参数(initialValue) |
| useImperativeHandle() | 用于自定义父组件通过 ref 获取和使用子组件的实例属性和方法 |
| useLayoutEffect() | 其函数签名与 useEffect 相同,但它在所有的 DOM 变更之后同步调用效果 |
| useDebugValue() | 可以用于在 React DevTools 中显示自定义 hook 的标签 |
Vue.js 3 常用 API:
| API | 描述 |
|---|---|
| createApp() | 创建一个新的 Vue 应用实例 |
| defineComponent() | 定义一个新的组件 |
| watch() | 响应式地追踪依赖变动 |
| watchEffect() | 立即执行一个函数并响应式地追踪其依赖,并在其依赖变更时重新运行该函数 |
| computed() | 创建一个响应式的计算属性 |
Vue.js 3 组合 API:
| API | 描述 |
|---|---|
| ref() | 创建一个响应式引用 |
| reactive() | 接收一个普通对象并返回其代理,等同于 Vue 2.x 的 Vue.observable() |
| toRefs() | 将 reactive 创建的响应式对象转化为普通对象 |
| toRef() | 为 reactive 对象上的属性创建一个 ref |
| readonly() | 创建一个只读的响应式对象 |
| isRef() | 检查一个值是否为一个 ref 对象 |
| isReactive() | 检查一个对象是否是由 reactive 创建的响应式代理 |
| isReadonly() | 检查一个对象是否是由 readonly 创建的只读代理 |
| isProxy() | 检查一个对象是否是由 reactive 或者 readonly 方法创建的代理 |
| unref() | 如果参数是一个 ref,则返回它的 value,否则返回参数本身 |
| proxyRefs() | 在 reactive/reactive 上使用 ref |
| customRef() | 创建一个自定义的 ref |
| shallowRef() | 和 ref 类似,但是只保持浅层响应式 |
| triggerRef() | 手动触发 shallowRef 的更新 |
| shallowReactive() | 和 reactive 类似,但只保持浅层响应式 |
| markRaw() | 使一个对象永远不会被转化为 Proxy |