Mongodb 在何处将版本v置于redux状态?

Mongodb 在何处将版本v置于redux状态?,mongodb,redux,Mongodb,Redux,我有一个分散在应用程序中的模型。我有一个redux状态树: { page: { modelPart1: ..., ... : { modelPart2: ... } } 我还需要在我的状态中保留对mongoDb\uv的引用。最好的地方在哪里 我在考虑一个单独的分支model\u metadata,它将保存关于文档的元数据(\u id,\u v,…) { model_元数据:{每个reducer只能访问它自己的状态部分,所以当您这样做时 comb

我有一个分散在应用程序中的模型。我有一个redux状态树:

{
  page: {
     modelPart1: ...,
     ... : {
        modelPart2: ...
     }
}
我还需要在我的状态中保留对mongoDb
\uv
的引用。最好的地方在哪里

我在考虑一个单独的分支
model\u metadata
,它将保存关于文档的元数据(\u id,\u v,…)

{

model_元数据:{每个reducer只能访问它自己的状态部分,所以当您这样做时

combineReducers({
  one,
  another
});
one
中访问
state
,相当于执行
store.getState().one
,对
另一个
也一样。因此,您需要将状态的
页面
属性中的数据分为两部分:实际数据和元数据。就像从Mongo检索的对象一样

让元数据和实际数据由同一个reducer处理的要点是,每次执行reducer函数时,该函数的
状态
参数中都有对象所需的一切。将数据拆分为两个不同的reducer会使事情变得更复杂

因此,
页面
中的新数据表示形式如下

{
   model_metadata: { <------------------------ HERE
     model: { 
       _id: id,
       __v: 2
     }
   }
   page: {
      modelPart1: ...,
      ... : {
         modelPart2: ...
      }
 }
connect(state => ({
  page: state.page
})(...)

感谢您尝试帮助Rishat。一个问题。当您说“页面中的数据表示形式”看起来像“然后您故意复制粘贴了我的代码?您不想修改它吗?在我的情况下,我正在跨多个页面访问模型。然后按“保存”时,我正在“收集”整个应用程序中关于模型的所有数据。这完全是故意的。想法是,不是
state.page
,而是
state.page.page
现在包含页面数据。是的,这与我的方法非常相似。为什么不:)你在项目中使用过它吗?我没有,但如果我使用了,我只会在单个对象中混合元数据和实体数据,是吗因为只要属性名不发生冲突(两个相同的属性代表不同的内容,非常不可能发生),这样做不会有任何坏处。
connect(state => ({
  page: state.page
})(...)