React 狀態提公升2 6

2021-10-05 17:49:20 字數 1483 閱讀 3296

react中的狀態提公升概括來說,就是將多個元件需要共享的狀態提公升到它們最近的父元件上.在父元件上改變這個狀態然後通過props分發給子元件.

列入官網的溫度計算的demo

先寫入乙個溫度輸入元件

class

temperatureinput

extends

react.component

;handlechange

=(e)

=>)}

;render()

:<

/legend>

"number" value=

onchange=

<

/fieldset>)}

}

刪除子元件state狀態全部刪除

class

temperatureinput

extends

react.component

;render()

:<

/legend>

"number" value=

onchange=

/>

<

/fieldset>)}

}

可以看到所有與state有關的東西全部刪掉了,然後input的value也變成了props,通過父元件傳入。

我們通過給 溫度輸入元件 傳入某個函式來讓 溫度輸入元件 中的input發生變化的時候呼叫,當然這個函式我們可以隨意命名,假如我們這裡叫做ontemperaturechange函式,那麼我們繼續修改子元件:

class

temperatureinput

extends

react.component

;render()

:<

/legend>

"number" value=

onchange=

/>

<

/fieldset>)}

}

這時候對父元件進行修改,為它新增state,和對應的onchange處理方法,以及子元件的值。完成之後是這樣的

class

calculator

extends

react.component

;// 獲取到子元件傳入的value值,對父元件中的state的value值進行相應的改變

oncelsiuschange

=(value)

=>);

};onfahrenheitchange

=(value)

=>);

};render()

ontemperaturechange=

/>

'f' temperature=

ontemperaturechange=

/>

<

/div>)}

}

React狀態提公升

react狀態提公升 react中的狀態提公升概括來說,就是將多個元件需要共享的狀態提公升到它們最近的父元件上.在父元件上改變這個狀態然後通過props分發給子元件.class one extends react.component render class two extends react.co...

React 狀態提公升

假設我們有這樣乙個需求,提供兩個輸入框 分別屬於兩個元件 保證輸入框裡面的內容同步 下面我們先來封裝乙個輸入框元件 input class input extends react.component this.handlechange this.handlechange.bind this hand...

React中的狀態提公升

react中的狀態提公升概括來說,就是將多個元件需要共享的狀態提公升到它們最近的父元件上.在父元件上改變這個狀態然後通過props分發給子元件.import react from react class child 1 extends react.component render class chi...