应该是啥组件?
Posted
技术标签:
【中文标题】应该是啥组件?【英文标题】:What should be a component?应该是什么组件? 【发布时间】:2017-08-23 22:04:32 【问题描述】:我正在为自己需要成为一个组件而苦苦挣扎?
例如:
我有一个页面,其中的所有内容都只与自身相关。
我在每个表单控件上都有一个文本输入;我需要将其包装在组件中吗?但是每个地方都需要不同类型的验证和其他与之相关的东西,那么为什么要这样做呢?
通常,当涉及到表单时,只有样式是相同的,那么为什么我们需要将它包装在一个组件中呢?我们可以只用 CSS 共享样式。
【问题讨论】:
【参考方案1】:tl;dr; 是组件是可重复使用的封装件。它类似于Brad Frost's Atomic Design。这不是火箭科学,不同的人可能会将他们的应用程序拆分为不同的组件。
也就是说,有足够多的教程/文章可以帮助您了解何时创建组件。为了让您开始:
https://medium.com/@rajaraodv/step-by-step-guide-to-building-react-redux-apps-using-mocks-48ca0f47f9a https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0【讨论】:
我同意这一点【参考方案2】:你想要拆分成一个组件的原因:
-
跨多个文件/代码部分重用代码。
封装某些代码的复杂性,以便开发者可以使用它,而无需了解其实现细节;只需要看看
props
。
您需要在特定的生命周期挂钩中做一些事情,例如当组件更新时,在componentDidUpdate
中执行某些操作。
您想要optimize 进行渲染,并且必须为代码的某些部分实现shouldComponentUpdate
。
【讨论】:
以上是关于应该是啥组件?的主要内容,如果未能解决你的问题,请参考以下文章