应该是啥组件?

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

【讨论】:

以上是关于应该是啥组件?的主要内容,如果未能解决你的问题,请参考以下文章

路径组件的命名标准是啥?

构建 kubeflow 组件的最佳选择是啥?

在 React 组件和服务之间进行通信的最佳实践是啥?

懒惰地导入 UI 模块/组件的最佳方法是啥

java中paint()的具体用法是啥?

java里的swing是啥意思,为啥取名swing