React组件库实践:React + Typescript + Less + Rollup + Storybook
// 假设我们有一个React组件库,并且我们想要创建一个新的按钮组件
import React from 'react';
import PropTypes from 'prop-types';
import styled from 'styled-components';
// 使用styled-components来定义按钮样式
const StyledButton = styled.button`
background-color: ${({ primary }) => (primary ? '#007bff' : '#00ff00')};
color: ${({ primary }) => (primary ? '#fff' : '#000')};
padding: 10px 20px;
font-size: 16px;
border: none;
border-radius: 5px;
cursor: pointer;
&:hover {
background-color: ${({ primary }) => (primary ? '#0056b3' : '#008000')};
}
`;
// 按钮组件
const Button = ({ primary, onClick, label }) => {
return <StyledButton primary={primary} onClick={onClick}>{label}</StyledButton>;
};
Button.propTypes = {
primary: PropTypes.bool,
onClick: PropTypes.func,
label: PropTypes.string
};
Button.defaultProps = {
primary: false,
onClick: () => {},
label: 'Click me'
};
export default Button;
这个代码实例展示了如何创建一个React组件,使用了styled-components
来定义组件样式,并且使用prop-types
来确保属性类型的正确性。这个组件可以被其他React应用导入并使用,提高了用户界面的一致性和可维护性。
评论已关闭