React ์ปดํฌ๋ํธ์ return๋ฌธ ์์์ switch๋ฌธ์ ์ง์ ์ฌ์ฉํ๋ ค๋ค ๋ฐ์ํ ์๋ฌ
// โ ์๋ชป๋ ๋ฐฉ์
const Button = ({ type }) => {
return (
switch(type) {
case "add":
return <AddButton>Add</AddButton>;
// ...
}
);
};
๋ณ๋์ ๋ ๋๋ง ํจ์๋ฅผ ๋ง๋ค์ด ๋ก์ง ๋ถ๋ฆฌ
// โ
์ฌ๋ฐ๋ฅธ ๋ฐฉ์
const Button = ({ type }) => {
const renderButton = () => {
switch (type) {
case "add":
return <AddButton>Add</AddButton>;
case "delete":
return <DeleteButton>Delete</DeleteButton>;
case "back":
return <BackButton>Back</BackButton>;
default:
return null;
}
};
return renderButton();
};
import styled from "styled-components";
import PropTypes from 'prop-types';
const AddButton = styled.button`
width: 100%;
padding: 8px;
margin-top: 12px;
// ... ์คํ์ผ ์์ฑ
`;
const Button = ({ type }) => {
const renderButton = () => {
switch (type) {
case "add":
return <AddButton>Add</AddButton>;
// ... ๋ค๋ฅธ ์ผ์ด์ค๋ค
default:
return null;
}
};
return renderButton();
}
Button.propTypes = {
type: PropTypes.string
}
export default Button;