React-源码阅读11041

35次阅读

共计 549 个字符,预计需要花费 2 分钟才能阅读完成。

React 源码阅读 -11

createRef

// ReactTypes 定义的 react 类型

import type {RefObject} from 'shared/ReactTypes';


// an immutable object with a single mutable value
// 具有单个可变值的不可变对象
export function createRef(): RefObject {
  const refObject = {current: null,};
  if (__DEV__) {Object.seal(refObject);
  }
  return refObject;
}

createRef源码比较简短, 就是返回一个带有 current 属性的的 refObject 对象.

这也是使用 createRef 的时候需要使用const node = this.myRef.current;

Object.seal()

Object.seal()方法封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置。当前属性的值只要可写就可以改变。

Object.freeze() 区别

使用 Object.freeze()冻结的对象中的现有属性是不可变的。用 Object.seal()密封的对象可以改变其现有属性。

https://developer.mozilla.org…

正文完
 0