重要的是要我應該通過組件還是thunk中間件獲取狀態數據嗎?反應終極版
說不要在減速
因此,更多的行動創造者少,我應該:
通行證通過組件當前狀態的數據?
this.props.fileActions.addFile(Object.keys(this.props.fileById).length)
或者獲得通過終極版,thunk的行動創造者的內部狀態數據?
export const addFile(){ return (dispatch, getState) =>{ const filelength = Object.keys(getState().fileById).length; dispatch(addFileAction(filelength)) } }
附:我來自Angular世界,在大多數時間我在Services中存儲數據,調用Service.addFile()並且files.length已經存儲在服務中,導致不需要傳遞Service.addFile(files.length)
我認爲無論哪種方式都可以,而且還有其他的選擇。你能詳細說明你想達到的目標嗎? – ArneHugo
比方說,我有一個文件ID [1,2,3]的數組,文件{1:{id:1 ...} ...}的資源圖。當我添加一個文件時,它的名字是''File $ {fileCount}'',就像''File 4''一樣。 我習慣於保持組件變得越來越細,通過組件傳遞數據對我來說看起來並不明顯。使用redux thunk看起來很奇怪,因爲從角度來看,我會在reducer中做這件事,因爲它有關於它的狀態的信息,但它被styleguides禁止,我不能在reducer中做任何異步操作。 – user3468806
@ArneHugo 我試圖變換角進行反應| Redux的 '出口類的FileService { addFile(){ 常量長度= Object.keys(this.fileById)。長度 const的文件= {名:「文件'+ length} } }' – user3468806