React中prop和state的區別
改變一個元件自身狀態,從語義上來說,就是這個元件內部已經發生變化,有可能需要對此元件以及元件所包含的子孫元件進行重渲染。
而props是父元件傳遞的引數,可以被用於顯示內容,或者用於此元件自身狀態的設定(部分props可以用來設定元件的state),不僅僅是元件內部state改變才會導致重渲染,父元件傳遞的props發生變化,也會執行。
既然兩者的變化都有可能導致元件重渲染,所以只有理解pros與state的意義,才能很好地決定到底什麼時候用props或state。
官方指導有說,props放初始化資料,一直不變的,state就是放要變的。
State 應該包括那些可能被元件的事件處理器改變並觸發使用者介面更新的資料,因為元件本身不能修改自己的 props。
相關推薦
React中prop和state的區別
需要理解的是,props是一個父元件傳遞給子元件的資料流,這個資料流可以一直傳遞到子孫元件。而state代表的是一個元件內部自身的狀態(可以是父元件、子孫元件)。改變一個元件自身狀態,從語義上來說,就是這個元件內部已經發生變化,有可能需要對此元件以及元件所包含的子孫元件進行
React中props和state相同點和不同點
朋友們,我想死你們了,最近這幾天忙著和病魔作鬥爭所以沒怎麼寫部落格,今天感覺好點了,趕緊來寫一波,就是這木敬業。 今天我們來討論討論props和state相同點和不同點 首先我來概要說明一下這兩者 props: props是一個從外部傳進元件的引數,由於React具有單向資料流的特性,所以他的主要
jQuery中prop和attr區別
元素 pro cti height 設置 let 數字 由於 led 問題 今天給一個button加onclick事件,由於最後button根據需要轉成字符串,因此不能使用jQurey.click(),只能給button添加onclick屬性的方式。 於是,$b
react中constructor和super()以及super(props)的區別。
事件 但是 你在 返回 name 定義 創建 ren 子類 react中這兩個API出鏡率超級高,但是一直不太懂這到底是幹嘛的,有什麽用;今天整理一下,方便自己查看同時方便大家。 1.constructor( )-----super( )的基本含義 constr
mybatis中的#和$的區別
背景 插入 trac sql註入 -m .com article 參數 -s 1. #將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號。如:order by #user_id#,如果傳入的值是111,那麽解析成sql時的值為order by "111", 如果傳
hibernate中hql語句中list和iterate區別
每次 hibernate 寫入 所有 讀取 條件 iter 查詢 hql 1.使用list()方法獲取查詢結果,每次發出一條語句,獲取全部數據。2.使用iterate()方法獲取查詢結果,先發出一條SQL語句用來查詢滿足條件數據的id,然後依次按照這些id查詢記錄,也就是要
java中ArrayList和LinkedList區別
插入 list 新的 查找 arr tro 基於 列表 時間復雜度 ArrayList和LinkedList最主要的區別是基於不同數據結構 ArrayList是基於動態數組的數據結構,LinkedList基於鏈表的數據結構,針對這點,從時間復雜度和空間復雜度來看主要區別:
mysql中replicate_wild_do_table和replicate_do_db區別
lan rep cati mil 多人 pan think lte 避免 使用replicate_do_db和replicate_ignore_db時有一個隱患,跨庫更新時會出錯。 如在Master(主)服務器上設置 replicate_do_db=test(my.conf
linux中 ll 和ls 區別
彩色 顯示文件 時間排序 linux 常用 所有 數字 名稱 sub ll 列出來的結果詳細,有時間,是否可讀寫等信息 ,象windows裏的 詳細信息ls 只列出文件名或目錄名 就象windows裏的 列表ll -t 是降序, ll -t | tac 是升序 ll不是
js中decodeURI()和encodeURI()區別,decodeURIComponent和encodeURIComponent區別
nbsp sch www 問題 encode 替換 副本 字符替換 序列 decodeURI()定義和用法:decodeURI()函數可對encodeURI()函數編碼過的URI進行解碼.語法:decodeURI(URIstring)參數描述:URIstring必需,一個字
HTP協議中URI和URL區別
int 名稱 net form 打開 文件路徑 指定 支持 地址 URL(uniform resource location ):統一資源定位符 URI(uniform resource identifier):統一資源標誌符 URI:可以表示一個域,也可以表示一個
mysql中varchar和char區別(思維導圖整理)
var 但是 系統 mysql 由於 varchar .html nbsp 了解 由於mysql一直是我的弱項(其實各方面我都是很弱的),所以最近在看msyql,正好看到varchar和char區別,所以整理一下,便於以後遺忘。 0.0圖片已經說明一切,但是系
JavaScript中Null和undefind區別
cdc 如何 undefine 只有一個 som pre cnblogs 定義 報錯 公眾號原文 Javascript有5種基本類型:Boolean,Number,Null,Undefined,String;和一種復雜類型:Object(對象); undef
淺談 Mybatis中的 ${ } 和 #{ }的區別
mybatis sql註入 語句 nbsp 之前 com pre 預編譯 sql 語句 一、舉例說明 1 select * from user where name = "dato"; 2 3 select * from user where name = #
mysql 中delete和trncate區別
重新 sql delet use 它的 刪除 掃描 進行 from mysql中刪除表記錄delete from和truncate table的用法區別: MySQL中有兩種刪除表中記錄的方法:(1)delete from語句,(2)truncate table語句。 d
VBA中字符串連接/字符串拼接中“&”和“+”的區別
運算符 強制 clear arch tle .com 字符串連接 ive 數字 VBA中字符串連接/字符串拼接中“&”和“+”的區別 在VBA中用於字符串連接的只有“&”和“+”兩種運算符。 1、“&”是強制性連接,就是不管什麽都連接。 2、
說一下PHP中die()和exit()區別
選擇 fop class 系統 light 常用 spa ner 終端 PHP手冊:die()Equivalent to exit()。 說明:die()和exit()都是中止腳本執行函數;其實exit和die這兩個名字指向的是同一個函數,die()是exit()函數的別名
Mysql中datetime和timestamp區別
sta mysql -m 時區 日期 timestamp 適應 tex 區別 DATETIME日期和時間的組合。支持的範圍是‘1000-01-01 00:00:00‘到‘9999-12-31 23:59:59‘。MySQL以‘YYYY-MM-DD HH:MM:SS‘格式顯示
js中opener 和parent區別
pen window ner win 就是 引用 窗口 iframe 彈出 1、opener即誰打開我的,比如A頁面利用window.open彈出了B頁面窗口,那麽A頁面所在窗口就是B頁面的opener,在B頁面通過opener對象可以訪問A頁面。 2、parent表示父窗
react 生命中期 props state區別 生命周期
eat class ini destroy 安裝 ops art 渲染 之前 npm安裝create-react-app npx create-react-app my-app cd my-app npm start 查看調試props驗證 babel-react-