官方 ReactJs 文档建议按照点符号创建组件,如React-bootstrap库:
<Card>
<Card.Body>
<Card.Title>Card Title</Card.Title>
<Card.Text>
Some quick example text to build on the card title and make up the bulk of
the card's content.
</Card.Text>
</Card.Body>
</Card>
借助类组件很容易创建此结构:
const CardBody = ({ children }) => <div className='body'>{children}</div>;
class Card extends Component {
static Body = CardBody;
render() {
return (
<div className='card'>{this.props.children}</div>
);
}
}
但也建议尽可能多地使用功能组件。不幸的是,我不知道如何仅使用功能组件来实现这一点。
如果我按照这种方式,我就不能再Card
用作组件了,因为他现在是组件的对象:
const Card = {
Component: CardComponent,
Body: CardBody
}
export default Card
我必须那样使用它,这不是我真正想要的:
<Card.Component>
<Card.Body>
...
你知道怎么做吗?