state 的主要作用是用於元件儲存、控制、修改自己的可變狀態。state 在元件內部初始化,可以被元件自身修改,而外部不能訪問也不能修改。你可以認為 state 是乙個區域性的、只能被元件自身控制的資料來源。state 中狀態可以通過 this.setstate 方法進行更新,setstate 會導致元件的重新渲染。
props 的主要作用是讓使用該元件的父元件可以傳入引數來配置該元件。它是外部傳進來的配置引數,元件內部無法控制也無法修改。除非外部元件主動傳入新的 props,否則元件的 props 永遠保持不變。
state 和 props 有著千絲萬縷的關係。它們都可以決定元件的行為和顯示形態。乙個元件的 state 中的資料可以通過 props 傳給子元件,乙個元件可以使用外部傳入的 props 來初始化自己的 state。但是它們的職責其實非常明晰分明:state 是讓元件控制自己的狀態,props 是讓外部對元件自己進行配置。
如果你覺得還是搞不清 state 和 props 的使用場景,那麼請記住乙個簡單的規則:盡量少地用 state,盡量多地用 props。
沒有 state 的元件叫無狀態元件(stateless component),設定了 state 的叫做有狀態元件(stateful component)。因為狀態會帶來管理的複雜性,我們盡量多地寫無狀態元件,盡量少地寫有狀態的元件。這樣會降低**維護的難度,也會在一定程度上增強元件的可復用性。前端應用狀態管理是乙個複雜的問題,我們後續會繼續討論。
react中state與setstate的使用
我們可以利用state來定義一些變數的初始值 放在construcor裡 this.state 要更改state裡的值,注意要遵循react裡immutable規範,state不允許我們做任何改變,只能通過setstate來更改 const list this state.list list.spl...
react中的state與props的區別
1 props是父元件向子元件傳遞資料的方式,子元件只能讀取但不能修改props中的資料 1.1 在有狀態元件中,子元件通過this.props.something獲取父元件傳遞的資料 1.2 在無狀態元件 也叫函式元件 中,通過prop.something獲取父元件傳遞的資料 2 state元件的...
react中如何修改state值
根據state型別 更新 當狀態發生變化時,如何建立新的狀態?根據狀態的型別,可以分成三種情況 1 狀態的型別是不可變型別 數字,字串,布林值,null,undefined 這種情況最簡單,直接給要修改的狀態賦乙個新值即可 原state this state 改變state this setstat...