2017-04-18 47 views
0

我是相當新的React & Redux和所有這一會兒,我把我所有的動作創造者&我的常量放到一個文件'../actions/index.js'中。 當我開始時,這看起來很好,但現在,它變成了這個龐大的無法讀取的代碼塊。如何安排動作創作者進入react-redux應用程序?

你會建議打破index.js到functionality1.js,func2.js,func3.js然後從拆分文件所需導入操作:

import {sampleAction} from '../action/func1'; 

還是有更好的方法做這個?

對不起,如果這似乎是一個愚蠢的問題。我仍然試圖瞭解React-Redux應用程序中的最佳實踐。

+0

不是一個愚蠢的問題。你可能更喜歡這種結構:https://github.com/erikras/ducks-modular-redux – Josep

回答

1

您仍然可以使用export * from '...'語法將其拆分,但保留index.js

動作/ functionality1.js:

export const ACTION_1 = '...' 
export const ACTION_2 = '...' 

export const action1 =() => {...} 
export const action2 =() => {...} 

動作/ functionality2.js:

export const ACTION_3 = '...' 
export const ACTION_4 = '...' 

export const action3 =() => {...} 
export const action4 =() => {...} 

動作/ index.js:

export * from './functionality1' 
export * from './functionality2' 

然後你可以輸入任何你需要像這樣:

import { action1, action4, ACTION_2, ACTION_3 } from './actions' 
+0

這真的很整潔,謝謝!可以/我應該對容器/組件做同樣的事情嗎? –

+0

沒有理由不能在整個應用中使用這個技巧。我經常用它來分解邏輯部分的功能。例如,用於登錄的所有組件,容器,動作,動作類型和縮減器將被分離到一個帶有「index.js」輸出每個片段的「Login」文件夾中。 –

相關問題