2017-01-10 34 views
0

我正在使用React/Redux Web应用程序。在项目开始时,我对应用程序状态有了很好的理解。但是,随着代码基数的增长,我倾向于通过减速器将越来越多的属性应用于应用程序状态。这里的问题是,如果一个新人加入我的项目,他可能不清楚该州已经存在的所有属性。Redux - 如何记录应用程序状态?

现在,我只是在名为state.js的文件中使用注释掉的对象来描述该状态中的所有属性。

/* 
    APP_STATE = { 
     attribute1 : '', 
     attribute2 : '', 
     attribute3 : [], 
     attribute4 : { 
      key: '' 
     }, 
    } 
*/ 

问题是:是否有更好的方式来记录我的应用程序状态的结构,以便它很容易理解?你们用什么方法?

回答

1

新的开发者应该从原点看事物。在我们的例子中,这将是rootReducer。

rootReducer的声明通常是多个独立reducer的组合,每个reducer都有自己的状态(“slice”)。在这一点上,我不会记录每个减速器的状态,只是主要结构。

// rootReducer.js 

export default combineReducers({ 
    feature1, // State for feature1 
    feature2, // State for feature2 
    ... 
}) 

现在开发人员可以深入每个reducer以熟悉它。
每个reducer都有自己的模块,在其中声明顶部的initialState。一个查看文件的人可以立即了解片的结构。这也是你记录它的机会。

// feature1Reducer.js 

const initialState = { 
    attribute1: '', // description of attribute1 
    attribute2: [], // description of attribute2 
    ... 
}; 

export default function reducer(state = initialState, action) { 
    ... 
}; 

所以我想我的主要指导方针是:

  1. 不要紧张一下子引进整个事情。独立于多个文件/模块。

  2. 如果你想记录一个对象,最好使用内联注释而不是注释块。在我看来,它也更容易维护。但是,这是主观的。