我正在研究React / Redux Web应用程序。在项目开始时,我非常了解我的应用程序状态。但是,随着代码库的增长,我倾向于通过reducer将越来越多的属性放入应用程序状态。这里的问题是,如果一个新人加入我的项目,他可能不清楚该州已经存在的所有属性。
现在,我只是在名为state.js
的文件中使用注释掉的对象来描述该州的所有属性。
/*
APP_STATE = {
attribute1 : '',
attribute2 : '',
attribute3 : [],
attribute4 : {
key: ''
},
}
*/
问题是:是否有更好的方法来记录我的应用程序状态的结构,以便它很容易理解?你们用什么方法?
答案 0 :(得分:1)
新开发者应该从原点看待事物。在我们的例子中,那将是rootReducer。
rootReducer的声明通常是多个单独的reducer的组合,每个reducer都有自己的状态(“slice”)。在这一点上,我不会记录每个减速器的状态,只是主结构。
// rootReducer.js
export default combineReducers({
feature1, // State for feature1
feature2, // State for feature2
...
})
现在,开发人员可以深入了解每个减速机,以熟悉它 每个reducer都有自己的模块,在其中声明initialState在顶部。查看文件的人可以立即了解切片的结构。这也是你记录它的机会。
// feature1Reducer.js
const initialState = {
attribute1: '', // description of attribute1
attribute2: [], // description of attribute2
...
};
export default function reducer(state = initialState, action) {
...
};
所以我猜我的主要指导方针是:
不要强调一次引入整个的东西。分开到多个文件/模块。
如果您希望记录对象,最好使用内联注释而不是注释块。在我看来,它也更容易维护。但这是主观的。