0
라듐으로 깨끗하고 DRY 코드 스타일을 작성하려고합니다. 이것은 내 버튼이 지금까지있는 것입니다. 내가 알아낼 수 없습니다React Radium 클래스 스타일 재정의
/**
*
* Button
*
*/
import React, { PropTypes } from 'react';
import Radium from 'radium';
const styles = {
base: {
borderRadius: '3px',
backgroundColor: '#23cdf4',
fontSize: '13px',
},
primaryBlue: {
backgroundColor: '#23cdf4',
},
primaryBlueBig: {
borderRadius: '8px',
fontSize: '16px',
padding: '14px 28px',
},
primaryRed: {
backgroundColor: '#F99CAC',
},
};
class Button extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<button
style={[styles.base, styles[this.props.type], this.props.style]}
>
{text}
</button>
);
}
}
Button.propTypes = {
text: PropTypes.any,
type: PropTypes.oneOf(['primaryBlue', 'primaryBlueBig']).isRequired,
style: PropTypes.object,
disabled: PropTypes.bool,
};
export default Radium(Button);
두 가지 :
- 어떻게 자신을 반복하지 않고 primaryBlueBig에 primaryBlue에 사용되는 배경 색상을 연장 할 수 있습니까?
- 비활성화 된 경우 두 파란색 버튼의 배경색을 어떻게 바꿀 수 있습니까?
이것은 현재 내가 작업하고있는 부분의 축소판이며 렌더링 기능에서 다른 블록을 사용하지 않으려 고합니다. 감사! ^.^
'빅'클래스의 리펙터에 전적으로 동의합니다! 나는 분명히하지 않은 다른 질문은 유형이 primaryBlue인지 primaryRed인지에 따라 비활성화 된 색상이 달라진다는 것입니다. 장애인이 부울 일 뿐이라는 것을 달성하는 깨끗한 방법이 있습니까? – Alexg2195
@ Alexg2195이를 반영하여 답변을 업데이트했습니다. 어떻게 생각해? –