Tag: 反应 proptypes

反应PropTypes与stream量

PropTypes和Flow涵盖了类似的东西,但是使用了不同的方法。 PropTypes可以在运行时给你警告,这可以帮助你快速find来自服务器的错误响应等等。然而,Flow似乎是未来,像generics这样的概念是一个非常灵活的解决scheme。 Nuclide提供的自动完成function也是Flow的一大优点。 现在我的问题是,在开始一个新项目时,最好的办法是走哪条路。 或者使用Flow和PropTypes可以是一个很好的解决scheme吗? 使用两者的问题是你写了很多重复的代码。 这是我写的音乐播放器应用程序的一个例子: export const PlaylistPropType = PropTypes.shape({ next: ItemPropTypes, current: ItemPropTypes, history: PropTypes.arrayOf(ItemPropTypes).isRequired }); export type Playlist = { next: Item, current: Item, history: Array<Item> }; 两个定义基本上都包含相同的信息,当数据types改变时,两个定义都需要更新。 我发现这个babel插件将types声明转换为PropTypes,这可能是一个解决scheme。

反应带形状的proptype数组

有没有内置的方式来使用proptypes,以确保传递给组件的对象数组实际上是一个特定形状的对象数组? 也许这样? annotationRanges: PropTypes.array(PropTypes.shape({ start: PropTypes.number.isRequired, end: PropTypes.number.isRequired, })), 我在这里错过了超级明显的东西吗? 似乎这将是高度追捧。