Вопрос в параметре компонента реакции в случае

Извините, если я использую неправильный термин, я не знаю, какая терминология правильная. Пожалуйста, поправьте меня, если можете.

Допустим, у меня есть форма, которую я хочу иметь в случае, если ее настроить.

<Form.Select
 name = "select"
 value= {isTrue?value1:value2}
 multiple = {enableMultiple}>

как видите, value можно использовать короткую форму if-case для установки значения

Но для multiple этот пример потерпит неудачу, потому что мне нужно либо иметь, либо не иметь параметр, чтобы включить/отключить его, а не устанавливать его true/false

Итак, существует ли краткая форма для включения/выключения переменной multiple в Form.Select? Я пытаюсь сделать следующее

{enableMutiple ? <Form.Select value=... mutiple ...> : <Form.Select value=...>}

К вашему сведению: короткий if/else, о котором вы говорите, называется тернарным оператором

Reyno 12.04.2024 12:09

То, что вы делаете, приемлемо. Хотя реакция позволяет множественному быть undefined или ложным. Здесь ``` const a = true; return ( <select Multiple = {a}> <option></option> <option></option> <option></option> </select> ); ```

Marek Kamiński 12.04.2024 14:20
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
67
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вот на моей машине работает XD

const a = true;
return (
  <select multiple = {a}>
    <option></option>
    <option></option>
    <option></option>
  </select>
);

В документации по реагированию говорится, что допустимо передавать логическое значение multiple или не передавать его вообще.

interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
    autoComplete?: string | undefined;
    disabled?: boolean | undefined;
    form?: string | undefined;
    multiple?: boolean | undefined;
    name?: string | undefined;
    required?: boolean | undefined;
    size?: number | undefined;
    value?: string | readonly string[] | number | undefined;
    onChange?: ChangeEventHandler<T> | undefined;
}

пожалуйста, публикуйте код/интерфейсы/и т. д. в виде форматированного текста, а не изображений 👍🏻

Dave Newton 12.04.2024 15:20

использование синтаксиса EnableMultiple && true для условного отрисовки атрибута Multiple в элементе формы — это краткий и эффективный способ обработки таких сценариев. Это делает ваш код чище и проще для понимания, улучшая читаемость и удобство сопровождения. Этот подход является обычной практикой в ​​разработке на JavaScript и React и позволяет переключать атрибуты в зависимости от конкретных условий без ненужного повторения кода. В целом, это улучшает процесс разработки и помогает писать более оптимизированный и организованный код. примечание: Если ваши ставки высоки, лучше использовать случай переключения

    <Form.Select
  name = "select"
  value = {isTrue ? value1 : value2}
  multiple = {enableMultiple && true}
>
  {/* Your select options here */}
</Form.Select>

Подозрительно ChatGPT-y.

Dave Newton 12.04.2024 15:19

«Если ваши ставки высоки, лучше использовать случай переключения». Что это должно означать?

gre_gor 12.04.2024 21:03

И вы написали много текста, не объясняя, почему это на самом деле лучше или даже что вообще должно делать добавление && true.

gre_gor 12.04.2024 21:08
Ответ принят как подходящий

Если вы действительно хотите вообще опустить это свойство, вы можете попытаться распространить на объект свойства, которые могут либо содержать свойство multiple, либо нет.

<Form.Select
  name = "select"
  value= {isTrue ? value1 : value2}
  {...(enableMultiple ? {multiple: true} : {})}
>

Но если ваша первоначальная попытка действительно не работает, я бы сообщил об ошибке в этой библиотеке.

Другие вопросы по теме