我有一个奇怪的问题与stlyed组件。我有一个组件标题与基本的风格,但当一个尝试使用这个组件和扩展的风格没有发生。有人能告诉我这是怎么回事?
import styled from 'styled-components/native';
export const Container = styled.SafeAreaView``;
export const Content = styled.View`
height: 72px;
padding: 0 24px;
flex-direction: row;
align-items: center;
justify-content: center;
`;
Header component
import React, { PropsWithChildren, FC } from 'react';
import { Container, Content } from './styles';
const Header: FC = ({ children }: PropsWithChildren<unknown>, props) => {
return (
<Container {...props}>
<Content>{children}</Content>
</Container>
);
};
export default Header;
import styled from 'styled-components/native';
import Header from '../components/Header/index';
export const Container = styled(Header)`
background: blue;
height: 200px;
`;
1条答案
按热度按时间lpwwtiir1#
你必须把你的 prop 从传递到你的
Header
组件中。在Container
或Content
中。它不会代替你完成。你的
Header
是一个React组件,他“不知道该怎么处理”它将从Container
-const Container = styled(Header)'...'
接收到的 prop 。如果组件与样式一起工作, prop 将被正确识别,如Text
,View
,...或者你有两个选择,不传递属性--只编辑你的内部容器。这取决于你的项目代码风格