\$\begingroup\$
\$\endgroup\$
I have a very simple component, which should be styled differently based on the passed condition.
I wonder if there is a better approach to refactor this piece of code?
function RandomComponent({ number, condition }) {
let classNameToUse;
switch (condition) {
case 'high':
classNameToUse = 'number number--high';
break;
case 'medium':
classNameToUse = 'number number--medium';
break;
default:
classNameToUse = 'number';
}
return <div className={classNameToUse}>{number}</div>;
}
200_success
145k22 gold badges190 silver badges478 bronze badges
asked Jun 11, 2019 at 13:38
1 Answer 1
\$\begingroup\$
\$\endgroup\$
1
if you're just trying to decide between number--high
number--medium
or ''
based on the condition
variable, then just make a helper function that does that
then do return <div className={"number " + getNumberClass(condition)}}>{number}</div>
-
\$\begingroup\$ Thanks, yeah I guess the best thing to do is to extract the selection into a separate function. \$\endgroup\$ummahusla– ummahusla2019年06月11日 13:53:26 +00:00Commented Jun 11, 2019 at 13:53
default