react中的props和state怎麼結合起來用?

時間 2021-05-12 06:17:42

1樓:屠龍少年

不要結合最好,完全受控元件使用起來會繁瑣一點,但內部邏輯簡單可控。如果要增強易用性可以在原元件上包裹一層,類似於柯里化通過層層包裹最終只剩乙個引數

2樓:貓5號

這個問題我也思考過,不過我是在vue上的。

其實這個問題涉及到元件的本質,可控性。

什麼叫可控性,就是元件外部(props)對內部控制的程度

根據可控程度,分為三種:

完全可控:元件的狀態只由外部決定,簡單說其實元件是無狀態的

非可控:元件的狀態由props來初始化,但元件變化過程是自律的,並通知外部

半可控:同非可控,但外部props仍會通知內部,由內部決定對自身狀態的影響程度並做出狀態同步

注意,可控性是針對元件外部和內部乙個或多個狀態之間的關係進行描述的,而不是描述元件本身

如果元件所有屬性都是完全可控的,那麼其實這個元件是無狀態的

上述這三種情況均合理存在,取決於你要對元件的內部狀態的干預程度

打個比如元件propA與stateA是一一對應且無需轉換,一般來說使用完全可控,也就是說你沒必要有stateA

而propA ---> stateA是單方面轉換但不可逆的,使用非控制

而propA <---> stateA是可逆的過程,但需要轉換的,或者外部狀態不可控,不同步的情況,使用半可控

一般情況,這三種的維護難度和開發難度和靈活性是遞增的

題主的情況,因為彈出框的可視引數在內外是不需要轉化的,除非元件外部的狀況也不能把我,否則應該用可控的

在mbti中,怎麼深入區分st和nt?

源小姐 要想找 本質 的,一刀切的區分方法比較難。特別是你很難逃脫自身ST NT程度的干擾。我是intp,現在看得比較深刻的人裡面,有個老闆是高階ESTJ男,我老公是ENTJ。他們倆的區別還是很明顯的 ST的偶像包袱重,對自己的顏值穿搭比較在意,會花心思,在意別人對他外表的看法。也會很注意觀察他人的...

Fender 的 Telecaster 和 Stratocaster 音色上最大區別是什麼?

ye xu 事實上tele是萬金油,大部分歐美流行歌曲都是tele錄製的,主要指clean音色,當然它的crunch音色也是很漂亮,新金很多換了雙拾音器也用他噪,關鍵就是它的發音清晰,明亮又不尖利,有種油乎乎的,脆生生的感覺,其實和strat一類音色,但是更特點鮮明,個人覺得電結他裡最像木結他的,適...

React中的virtual dom是否可以理解為當前元件的view model

魯小夫 不是vdom 就是 React 自己實現的偽 DOM API,React.createElement 啥的,又稱為 React Element 一般用來描述 React Component 的 view 結構。React Element 是相當 dump 的 view,沒法認為是 view ...