React:我们可以用prop扩展样式组件吗?

时间:2019-03-30 07:09:01

标签: reactjs styled-components

我们可以在传递道具的同时扩展现有的样式化Componet吗?这有助于集中所有与样式相关的对象。以下(发明的)示例:


const Foo = styled.div`
  height: ${({ height }) => `${height && '12'}px`};
`;

// Currently possible: 
const Bar= styled(Foo).attrs({ tabIndex: 0 })`
  color: red;
`;

// Invented!! Does not work
const Baz = styled(Foo).props({ height: '14' })`
  color: red;
`;

是否有一种方法可以实现这种“道具”,就像我们可以在样式组件中使用“属性”一样?

1 个答案:

答案 0 :(得分:2)

类似的事情可能会起作用:

const Baz = styled((props) => <Foo height="14"  {...props} />)