1
我想讓我的頭腦一起使用react和redux。我遇到的問題是,當應用程序變得更復雜時,我覺得很多樣板代碼都是這樣。在反應減少應用程序中減少回調樣板
例如,從redux documentation獲取Todo應用程序。讓我們假設我們想延長例如,給出一個待辦事項多個屬性:
- 冠軍
- 一個到期日
- 一個所有者
- 更多的東西
現在,我想add addtional修改這些屬性的操作:
const ADD_TODO = 'ADD_TODO'
const REMOVE_TODO = 'REMOVE_TODO'
const TOGGLE_TODO = 'TOGGLE_TODO'
const CHANGE_TITLE = 'CHANGE_TITLE'
const CHANGE_DUEDATE = 'CHANGE_DUEDATE'
const CHANGE_OWNER = 'CHANGE_OWNER'
... more stuff ...
現在對於藤的回調都必須通過擴展:
- onChangeTitle(標題)
- onChangeDueDate(dueData)
- onChangeOwner(所有者)
- ...
而且回調對於TodoList也必須擴展:
- onChangeTitle(index標題)
- ...
最後的頂級組件必須訂閱所有這些回調,並派遣行動。
這似乎是很多樣板,特別是當組件層次更深時。
我最初的想法是,那藤只有一個回調:
- 的onChange(newData)
和TodoList的:
- onChangeTodo(指數,newData)
但是比newData
必須在Todo中創建,這基本上意味着在那裏實現類似reducer的東西。
我在這裏得到正確的想法嗎?我能減少這個嗎?
這是很簡單的 – Nathan
我是怕做這樣的事情的一種,因爲它使表象部件動作感知。但是,也許我正在反思這一點。 – Nathan