我想知道如何使用propstype来获取这样的数据库?

问题描述:

{ 
    "_id" : ObjectId("577c4b18b1216fd9cb1a2ffc"), 
    "username" : "John", 
    "todolist" : [ 
     { 
      "_id" : ObjectId("577c4b36b1216fd9cb1a2ffd"), 
      "newtodo" : { 
       "tittle" : "Playing football" 
      } 
     } 
    ], 
    "dateAdded" : ISODate("2016-07-06T00:04:40.914Z"), 
    "__v" : 0 
} 

我写的道具数据库这样的,但它丝毫不差我想知道如何使用propstype来获取这样的数据库?

<p className={styles['author-name']}><FormattedMessage id="by" /> {props.user.username}</p> 
     <p className={styles['author-name']}>{props.user.todolist['newtodo.tittle']}</p> 

得到错误,我需要知道如何在Proptypes.shape喜欢

user: PropTypes.shape({ 
username: PropTypes.string.isRequired, 
    todolist:PropTypes.arrayOf(PropTypes.shape({ 
     newtodo: PropTypes.objectOf(PropTypes.string)({ 
      tittle:PropTypes.string.isRequired, 
     }) 
})).isRequired, 

请帮助我,请TT我一个新的React

+0

你能更好地描述你收到了什么样的错误? –

+0

其实我不能从我的数据库(mongodb)道具(得到)价值。它始终存在问题,那就是未定义。 –

最有可能的,它应该是:

user: PropTypes.shape({ 
    username: PropTypes.string.isRequired, 
    todolist: PropTypes.arrayOf(PropTypes.shape({ 
    newtodo: PropTypes.shape({ 
     tittle: PropTypes.string.isRequired 
    }) 
    })).isRequired 
}) 

newtodo对象应该用PropTypes.shape来描述,而不是用Proptypes.objectOf来描述。

+0

谢谢,但是当我在本地主机上测试它是这样的错误 未捕获(承诺)类型错误:无法读取未定义的属性'newtodo.tittle' –