Javascript Redux-如何记录应用程序状态?
我正在开发React/Redux web应用程序。在项目开始时,我非常了解我的应用程序状态。但是,随着代码库的增长,我倾向于通过缩减器为应用程序状态添加越来越多的属性。这里的问题是,如果一个新人加入我的项目,他可能不清楚该州已经存在的所有属性Javascript Redux-如何记录应用程序状态?,javascript,redux,Javascript,Redux,我正在开发React/Redux web应用程序。在项目开始时,我非常了解我的应用程序状态。但是,随着代码库的增长,我倾向于通过缩减器为应用程序状态添加越来越多的属性。这里的问题是,如果一个新人加入我的项目,他可能不清楚该州已经存在的所有属性 /* APP_STATE = { attribute1 : '', attribute2 : '', attribute3 : [], attribute4 : {
/*
APP_STATE = {
attribute1 : '',
attribute2 : '',
attribute3 : [],
attribute4 : {
key: ''
},
}
*/
现在,我只是在一个名为state.js
的文件中使用一个注释掉的对象来描述状态中的所有属性
/*
APP_STATE = {
attribute1 : '',
attribute2 : '',
attribute3 : [],
attribute4 : {
key: ''
},
}
*/
问题是:是否有更好的方法来记录我的应用程序状态的结构,从而使其易于理解?你们使用什么方法?一个新的开发人员应该从源头上看问题。在我们的例子中,这就是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) {
...
};
所以我想我的主要指导方针是: