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

时间:2016-07-06 00:12:53

标签: javascript reactjs arrayofstring

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

我像这样编写道具数据库,但它在tittle

上出错
<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,

请帮助我T-T我是React的新手

1 个答案:

答案 0 :(得分:0)

最有可能的是,它应该是:

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