-
類 ES6中引入了class(類),讓javaScript的面向對象編程變得更加簡單和易于理解 一、類的導入 和導入普通的組件是一樣的 import Student from './Student'; 二、類的實例化 可以在setup.js的構造函數中,如下: this.stu= new Student("曉明","男", 16); 三、使用類的實例 setup.js的render里面 this.stu.getDescription()//獲取實例中的方法或屬性等 四、類的繼承 構造方法和方法是可以重寫的查看全部
-
ref是什么? ref是組件的特殊屬性,組件被渲染后,指向組件的一個引用??梢酝ㄟ^組件的ref屬性,來獲取真實的組件。 因為,組件并不是真正的DOM節點,而是存在于內存中的一種數據結構,稱為虛擬的DOM,只有當它真正的插入文檔之后,才變為真正的DOM節點。根據React的設計,所以的DOM變動都發生在虛擬DOM上,然后再將實際的部分反映到真實的DOM上--這就是 DOM DIff,它可以提高頁面性能。 如何使用ref呢? ref屬性的定義是在使用組件的部分,而組件的方法之類的都是在定義組件的里面就有的。render方法被調用的時候,組件就會被渲染。渲染完成之后,就可以獲取這個組件實例啦,因而就可以調用組件實例里的方法或者變量啦。 定義組件的方式一 ref="reftest" this.refs.reftest 或者 this.refs[reftest] , 這兩種方式都可以獲得當前的組件。 獲得當前組件的大小, let size = this.refs.reftest.getSize(); 定義組件的方式二 ref={reftest=>this.reftest=reftest} [當組件被渲染后,ref屬性reftest就有值啦,然后我們將它賦值給this.reftest 。接下來就可以使用this.reftest來獲取相應的方法] this.reftest 或者 this.refs['reftest'] , 這兩種方式都可以獲得當前的組件。 這種方式定義,就可以這樣使用,var size = this.reftest.getSize();查看全部
-
本節要討論的問題: 1、什么是ref? 2、如何使用ref?查看全部
-
state也可以吹氣球 (導入新的資源,都會報錯,因此需要將包管理器關掉,再重新啟動服務即可。) 如何控制state的變化呢,在文字上設置方法, onPress={ ()=> {this.setState ({ size:this.state.size+10}); }} 改變state的值是用 this.setState{size:90} <Image style={{width:this.state.size,height:this.state.size}} source={require('./qiqiu.png)} /> 上述代碼就將 Image 的大小給渲染出來啦。(動態化的UI就有啦)查看全部
-
什么是state props是不可改變,只讀的。為了實現交互,就需要用到組件的state。我們將組件看為狀態機,UI是各種各樣的狀態,并在各種各樣的狀態之間可以切換,只需要改變組件的state,就會重新渲染UI。 state是組件私有的,是沒有辦法通過其他組件傳遞過來的。 如何使用state 方式一、 我們可以在組件的構造方法中,初始化組件的state。 constructor(props){super(props); this.state={size:80} } 初始化size,默認給它80. 方式二、 直接在組件內,state={size:80}。不用寫在構造方法內。查看全部
-
小技巧二:解構賦值 適用于只想傳遞部分屬性情況 好處:可以從一組屬性中獲取指定屬性,省去了params.name等的寫法 實例如下: render(){ var params={name:'小張', age:18, sex:'男}; var {name,sex}=params; return( <View style={styles.container}> <PropsTest name={name} sex={sex} ></PropsTest> </View> ) }查看全部
-
默認的目錄是model_lib并非當前的根目錄,這個好奇怪,。。。。查看全部
-
ref使用詳解 1、什么是ref? 2、如何使用ref?查看全部
-
<RefTest ref={reftest=>this.reftest=reftest}/> <Text onPress={()=>{ var size=this.reftest.getSize(); this.setState({ size:size }) }}查看全部
舉報
0/150
提交
取消