我們使用兩種資料來控制乙個元件:props
和state
。props
是在父元件中指定,而且一經指定,在被指定的元件的生命週期中則不再改變。 對於需要改變的資料,我們需要使用state
。
一般來說,你需要在 constructor 中初始化state
(譯註:這是 es6 的寫法,早期的很多 es5 的例子使用的是 getinitialstate 方法來初始化 state,這一做法會逐漸被淘汰),然後在需要修改時呼叫setstate
方法。
假如我們需要製作一段不停閃爍的文字。文字內容本身在元件建立時就已經指定好了,所以文字內容應該是乙個prop
。而文字的顯示或隱藏的狀態(快速的顯隱切換就產生了閃爍的效果)則是隨著時間變化的,因此這一狀態應該寫到state
中。
import react, from 'react';
import from 'react-native';
class blink extends component ;
// 每1000毫秒對showtext狀態做一次取反操作
目錄實際開發中,我們一般不會在定時器函式(setinterval、settimeout 等)中來操作 state。典型的場景是在接收到伺服器返回的新資料,或者在使用者輸入資料之後。你也可以使用一些「狀態容器」比如redux來統一管理資料流。
state 的工作原理和 react.js 完全一致,所以對於處理 state 的一些更深入的細節,你可以參閱react.component api。
譯註:提示一些初學者應該牢記的要點:
看到這裡,你可能覺得我們的例子總是千篇一律的黑色文字,太特麼無聊了。那麼我們一起來學習一下樣式吧。
state(狀態)
reactnative筆記
上課隨堂筆記
運算子有一元 二元和三元運算子。分類 一元二元和三元 乙個數兩個數三個數 按優先順序 運算方向分 a b c 從左向右 從右向左 賦值運算子為 方向 從右向左 優先順序 最低 let a b c d 5 先算右 注意 左側只能有乙個常量或變數 求餘 自加自減!不能用於常量只能用於變數 1 var a...
18 7 19隨堂筆記
配置vimrc vim etc vimrc 1.set autoindent 的意思是自動縮排 2.set tabstop 4 的意思是插入模式下按下 tab 後游標則向後退4格。3.set number 的意思是設定行號。也可低行模式下 set nu set nonu 設定 取消設定 4.synt...
Liunx隨堂筆記
變換目錄 cd 顯示當前所在目錄 pwd 建立新目錄 mkdir 刪除 空 的目錄 rmdir 檔案與目錄的顯示 ls 複製檔案或目錄 cp 移除檔案或目錄 rm 移動檔案與目錄,或更名 mv 取得路徑的檔名與目錄名 basename,dirname 由第一行開始顯示檔案內容 cat 只看頭幾行 h...