处理实体反应?

时间:2018-03-20 22:47:45

标签: javascript reactjs ecmascript-6 react-proptypes

我很反应,redux,prop-types等等。我来自Angular2世界,支持TypeScript。在那里,我有自己的实体类,我在需要它们的组件中导入它们。现在在反应中我只有我为每个组件定义的道具类型。

一切都很好但是如何用prop-types解决这个数据结构:

{
    "order": {
        "date": "2018-03-20",
        "customer": {
            "firstName": "John",
            "lastName": "Brown"
        },
        "product": {
            "category": "book",
            "name": "XYZ"
        },
        "price": 99
    }
}

在Angular2中我会创建三个实体,但是如何处理这个与prop-types的反应?当然我可以在每个组件中为这个数据结构定义正确的prop-types,其中我通过props传递了一个订单实体,但这看起来像是一个巨大的代码冗余。

我现在的问题:这个问题是否有最佳实践解决方案?也许像这个模块的中心道具类型架构:https://www.npmjs.com/package/react-entity? (我不想使用这个模块,因为它似乎不再在开发中了)

1 个答案:

答案 0 :(得分:0)

如果您想在React中使用比PropTypes更丰富的类型,您有两种选择:

  • 使用TypeScript。这不是开箱即用的,所以你必须改变你的构建。有一堆bootstrapper projects可以让您的生活更轻松。
  • 使用Flow。诸如CRA之类的标准引导程序支持开箱即用。

最后使用哪一个是优先考虑的问题。两者都有其优点。 Here你可以很好地比较两者的作用。