@QnaTwitt

Как правильно записать массив классов с условиями React?

Есть вот такой className, думаю не совсем правильно так писать, подскажите, пожалуйста, как это сделать красиво\правильно

className={`${classes ? classes : ''}${type === 'text' || type === 'number' ? 'input-default' : ''}${type === 'file' ? 'input-file' : ''}${type === 'checkbox' ? 'input-checkbox' : ''}${type === 'radio' ? 'input-radio' : ''}${type === 'password' ? 'input-password' : ''}`}
  • Вопрос задан
  • 52 просмотра
Решения вопроса 2
Dasihub
@Dasihub
const isClassName = (type) => {
    switch (type) {
        case "file":
            return "input-file";
        case "radio":
            return "input-radio";
        case "password":
            return "input-password";
        case "checkbox":
            return "input-checkbox";
        default:
            return 'input-default'
    }
};

className = {`${classes ? classes : ''} ${isClassName(type)}`}


Функцию isClassName напиши вне компонента
Ответ написан
Комментировать
TMProject
@TMProject
Frontend developer React/Redux
Добавлю к Dosya

const isClassName = (type) => {
    switch (type) {
        case "file":
            return "input-file";
        case "radio":
            return "input-radio";
        case "password":
            return "input-password";
        case "checkbox":
            return "input-checkbox";
        default:
            return 'input-default'
    }
};
const cl = []

if (classes) cl.push(classes)
cl.push(isClassName(type))

...

className = {cl.join(' ')}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы