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
對象.node
這也是使用createRef
的時候須要使用const node = this.myRef.current;
react
Object.seal()
Object.seal()
方法封閉一個對象,阻止添加新屬性並將全部現有屬性標記爲不可配置。當前屬性的值只要可寫就能夠改變。this
Object.freeze()
區別使用Object.freeze()凍結的對象中的現有屬性是不可變的。用Object.seal()密封的對象能夠改變其現有屬性。code
https://developer.mozilla.org...