Необязательный параметр в объекте в функции

У меня есть вопрос о необязательном свойстве, используемом в функциональном компоненте в React.
Есть компонент A, который возвращает компонент B, который возвращает компонент C. Первоначально, есть только одно свойство (property1) в ComponentAProperties и ComponentBProperties. Цель состоит в том, чтобы добавить еще одно свойство (property2), которое является необязательным для ComponentAProperties. и ComponentBProperties, чтобы, если они предоставлены, ComponentC мог их использовать. Код в комментарий - это то, что я предлагаю для добавления свойства2. Я хотел бы знать, является ли это лучший подход?

interface ComponentAProperties {
    property1: string;
    //property2?: string;
}

export function ComponentA ({ property1 /*, property2 = ''*/ }: ComponentAProperties) {
    return 
        <ComponentB
            property1 = {property1}
            //property2 = {property2}
        />
}       


interface ComponentBProperties {
    property1: string;
    property2?: string;
}


export function ComponentB ({ property1 /*, property2 = ''*/ }: ComponentBProperties) {
    return
        <ComponentC
            property1 = {property1}
            // combineItems is a function that can accept any number of strings and
            // ignore empty string('') if provided.
            property2 = {combineItems(default, property2)}
        />
}

Кажется разумным. Что вас беспокоит?

TLadd 10.03.2019 04:46

Я не очень уверен, что это правильный способ передать необязательное свойство в аргументе функции.

bunny 10.03.2019 06:54
Поведение ключевого слова "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) для оценки ваших знаний,...
1
2
49
0

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