当我们使用样式化的组件时,我们会编写css,而我不明白使用它的好处,为什么我们不使用我们编写的css作为组件的类名。在样式化的组件中,我们有组件的包装器,当我们使用普通的css时,我们有类名。用样式组件包装组件的优点是什么?
发布于 2022-03-24 11:54:08
将样式化的组件推入React开发的原因是将样式封装到这些组件。不存在将css泄漏到其他组件的风险。与其学习新的css组织结构,不如让新开发人员更快地上船。
尽管如此,它是限制性的,开发速度较慢,并添加了一些页面权重,通过应用相同的样式,您可以共享。
我发现最快的工作方法是使用纯css创建静态html网页,并以将其导入框架的方式将其组织起来。然后,您可以使用模板html设计,这些设计可以独立于编译器进行测试,在Internet、Firefox、chrome、移动设备和所有不同屏幕大小的情况下测试都要快得多。
如果要使用样式组件,可以使用此npm插件将静态css转换为与样式组件一起使用的变量- https://www.npmjs.com/package/@inspiraller/create-css-vars。
Nextjs不支持css导入,除非它是全局的,所以webpack编译选项是一个更普遍的解决方案。
发布于 2022-03-24 11:42:55
样式组件的主要好处列在其网站的动机页面中。
样式-组件是因为我们想知道如何增强CSS来对组件系统进行样式化。通过专注于单个用例,我们设法优化了开发人员的体验以及最终用户的输出。 除了为开发人员提供更好的体验之外,样式组件还提供:
使用样式化的组件,可以使用JavaScript代码“增强”CSS类,因为它们是用JS编写的。
const Input = styled.input`
color: ${props => props.hasError ? 'red' : 'black'};
`;与编写两个单独的CSS类和控件相反,这些类和控件将在JS中显示。
.text {
color: black;
}
.text--danger {
color: red;
}<input className={`text ${hasError ? 'text--danger' : ''}`} />从长远来看,它可以产生更易于维护的代码,但是如果使用它更好,这是个人的看法。
发布于 2022-03-24 11:31:50
使用样式化的组件,您可以添加逻辑编程。
https://stackoverflow.com/questions/71601606
复制相似问题