在某些示例中,我看到了类似以下内容:
Footer.propTypes = {
completedCount: PropTypes.number.isRequired,
activeCount: PropTypes.number.isRequired,
filter: PropTypes.string.isRequired,
onClearCompleted: PropTypes.func.isRequired,
onShow: PropTypes.func.isRequired
}
这些到底在PropTypes
做什么?它们是必备品吗?
正如finalFreq所指出的,我已经纠正了!“提供的示例将在React的未来版本中正常工作。不赞成使用React的方法,直接调用proptypes函数,但对组件进行注释将在当前和将来的版本中正常工作。”
如果您只是在JS中学习类型,我建议使用流程类型
,它可以在构建时而不是在运行时使用。这在编辑器中有效!当缺少不太明显的类型,为null或其他类型时,编辑器扩展还使用强推断来提醒您。主要好处是它可以加快开发速度并减少错误,而不会减慢运行时间。在生产之前,您可以轻松地从js中剥离流程。
FlowType: https **://flowtype.org/docs/getting-
started.html#_**
如果您想使用更强大和功能更强大的set 来学习JS中的类型, 我建议使用TypeScript 。
打字稿: https :
//github.com/Microsoft/TypeScript
要回答您的问题,原型不是必须的,在某一时刻被认为是实验性的。我喜欢它们,但是流程类型更实用,恕我直言。主要用途是通过在开发中早期发出警告来防止组件的误用,并提供编码文档以更好地理解(发布性)。
编辑:我也想明确指出,原型也可以剥离用于生产。
在绝大多数情况下, React都是清晰直观的. 但是也不乏有一些小陷阱, 不注意的话有时候也会给你”意外的惊喜”. 下面我们就来介绍一下这些小陷阱 参考资料 React Gotchas Top 5 React Gotchas
在这一个章节中我们会提供一些CSS In JS的实践. 如果你还不太明白为什么要CSS In Js, 作者vasan推荐你看一看下面的 talk by Vjeux 相关文章 Patterns for style composition in React Inline style vs stylesheet performance
问题内容: 对于事件处理程序,可以在react中使用闭包吗?例如,我在导航中有一些功能和很多菜单,在导航组件中我使用的是这样的: 还是我应该只喜欢箭头功能? 第一个变种确实使代码更清洁,但是我担心大量此类元素的性能 问题答案: 两者都应避免。 虽然它们都可以工作,但是它们都具有相同的弱点,即它们会导致不必要的渲染,因为该函数是动态创建的,因此将呈现为不同的对象。 您不希望使用任何一种方法,而是要以
问题内容: 我创建了该组件,当我转到一个不存在的页面时,它可以正常工作。但是,它出现在我的所有页面中的是同一页面,而不仅仅是不存在的页面。这是组件: 这就是我在主页中使用它的方式: 如您所见,我曾经用来创建404页面,但是该组件也出现在每个现有页面中。我怎样才能解决这个问题? 问题答案: 试试这个:
我使用了react datepicker。我试图从另一个组件作为props收到的值中设置react datepicker的值,但要么它没有显示该值,要么它显示了一个空白页面,显示“错误的时间格式”。 日期选取器代码: 我检查了控制台,发现日期选择器组件成功接收了props,但我仍然无法设置该值。
`` [ {“Example1”:“503987964457159371”,“Sports”:“Box”,“AppName”:“Admin”,“Description”:“Boxing”},{“Example1”:“902867793529808056”,“Sports”:“KickBox”,“AppName”:“Admin”,“Description”:“KickBoxing”},{“Examp