亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React 最佳實踐:在組件中具有“狀態”以外的屬性

React 最佳實踐:在組件中具有“狀態”以外的屬性

白衣非少年 2022-08-27 09:28:25
我正在審查一個 React 組件,它包含一個屬性和一個屬性。stateallData要遵循最佳實踐,不應該是 的一部分嗎?allDatastateconstructor(props) {    super(props);    this.allData = [];    this.state = {      allDisplayedData: [],      allRowsCount: -1,      favData: [],      favRowsCount: -1,    };    this.searchAll = this.searchAll.bind(this);    this.handleCellClick = this.handleCellClick.bind(this);  }
查看完整描述

3 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

如果希望組件在更改時重新呈現,則需要處于狀態,否則將其放在任何位置。除其他任何實例變量都不是 React 控制的一部分,因此它們沒有相同的使用 setState 進行設置的能力。這意味著它們不會像狀態那樣重新呈現組件。this.state

從本質上講,這取決于你用它做什么以及你想如何使用它。

我傾向于將此模式用于取消標記和 intervalIds 等內容,以及我以后可能需要的其他數據,但不需要將其用作狀態的一部分,因為它僅在卸載或更新時需要,但在渲染本身中不需要。

如果在渲染中需要它,則應使其處于狀態,或者準備好在更新時處理未呈現的組件。


查看完整回答
反對 回復 2022-08-27
?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

如果要使數組成為狀態的一部分,那么 yes,if no,則 no。


查看完整回答
反對 回復 2022-08-27
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

除了之前的兩個詳細答案,我在 https://reactjs.org/docs/state-and-lifecycle.html

雖然 this.props 是由 React 自己設置的,而且 this.state 有特殊的含義,但如果你需要存儲不參與數據流的東西(比如計時器 ID),你可以自由地手動向類中添加其他字段。


查看完整回答
反對 回復 2022-08-27
  • 3 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號