最近在使用dva过程中,越来越觉得dva+stateless component不是一个很好的组合,多次把stateless component改为state component。
因stateless component不提供setState方法,所有的数据变化都必须通过redux来做,而dva的reducers都放到了model中,会导致model中state和reducers迅速膨胀,难以维护。
使用state component,把组件内部的数据变化消化在组件内部,减少数据的传递过程,才能做到组件的解耦。
使用dva(确切的说应该是 redux)并不是说你要把所有的组件状态都放到 store 里面,对于需要全局管理或者需要组件中共享的状态才需要用 redux 来管理,如果只是组件内部消化的状态,完全可以放在自身的 state 里
可以参考下面的观点
http://redux.js.org/docs/faq/OrganizingState.html#organizing-state-only-redux-state
Most helpful comment
使用dva(确切的说应该是 redux)并不是说你要把所有的组件状态都放到 store 里面,对于需要全局管理或者需要组件中共享的状态才需要用 redux 来管理,如果只是组件内部消化的状态,完全可以放在自身的 state 里