使用React Styled Components在两种类型的组件之间共享相同的样式

亚伦·克里斯蒂安森

我想将完全相同的样式应用于样式化input元素和样式化select元素。

目前,我正在使用字符串插值来执行此操作:

const styles = `
    background-color: white;
    width: 100%;
    border: 0 solid transparent;
    border-radius: 10px;
    margin-bottom: 20px;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 1.2rem;
`

const Select = styled.select`${styles}`
const Input = styled.input`${styles}`

有没有做到这一点的更好方法,而无需使用“原始”字符串?使用原始styles字符串的缺点是Visual Studio Code不会语法突出显示它:

在此处输入图片说明

Aleksey L.

您在这里有几个选择:

CSS的助手功能

const styles = css`
  background-color: white;
  // ...
`;

const Select = styled.select`${styles}`;
const Input = styled.input`${styles}`;

“ as”多态道具(在v4中添加):

<Select as="input">
  ...
</Select>

withComponent方法(不推荐使用):

const Select = styled.select`
  background-color: white;
  // ...
`;
const Input = Select.withComponent('input');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

导入 .less 变量以在 React Styled Components 中使用

使用 styled-component 修改 css react 组件

使用 react 和 styled 组件打印时如何隐藏按钮?

nx React/Next.js styled-components 共享类型声明文件 styled.d.ts

React Styled-Components 传递道具问题

React Styled 组件未显示正确的输出

styled-components表示在您的React组件(Component)周围包装了styled()

React Styled-Components:参考其他组件

使用状态来自定义样式的react + styled-components

如何在React Styled-Components中设置子组件的样式

在单文件组件方法中使用 vue-styled-components

如何使用 styled-components 更改组件的颜色?

如何将 React Functional Component 属性的类型设置为 Styled Component`styled.div`?

使用Styled-Components创建NPM包:Styled-Components TypeError:t.hasOwnProperty不是函数

React Styled Component SVG 样式显示不正确?

React + Styled Components-分离并重复使用CSS“捆绑包”

如何在 React - typescript - Styled-components 应用程序中使用单击事件修改 DOM?

将 calc() 与 react-native 和 styled-components 一起使用时出错

使用 React Styled Components,如何根据通过 useSelector 收集的状态声明颜色?

React Styled Components-如何访问原始HTML

React Styled-Components CSS向子元素添加!important

nextjs + react-native-web + styled-components:warnOnce

React Styled-Components 3个按钮大小

React Styled Components条件三元运算符

React Styled-Components主题-提供者动态主题

用React Styled-Components导入scss变量的最佳方法?

如何在React上的Styled Component画布上正确使用TypeScript类型

Styled Components 渲染基于 props 的 Styled 标签

在 Material-UI 中使用条件样式与 styled vs JSS