Ответы пользователя по тегу React
  • Текстовые переменные в React.JS?

    @ovodovod
    I am Software Engineer
    В идеале для таких ситуаций обычно используют, например, Redux или MobX, это инструменты для организации хранения данных приложения, почитайте документацию (для Redux есть перевод на русский).
    Ответ написан
    Комментировать
  • Нужно ли дублировать передачу пропсов в родительком компоненте?

    @ovodovod
    I am Software Engineer
    Попробую вам помочь. Если у вас вкладок немного, то чтобы не городить 12 пропсов, можно использовать такой подход:

    const UserTabs = () => (
      <Tabs>
        <Tab
          name={name}
          tooltipText={tooltipText}
          onTabClick={onTabClick}
        />
        <Tab
          name={name}
          tooltipText={tooltipText}
          onTabClick={onTabClick}
        />
      </Tabs>
    );


    По возможности постарайтесь инкаспулировать данные внутри UserTabs и попробуйте решить проблему через композицию.

    Если не получится (например, вкладок много или вы заранее не знаете данных), то можно так (то есть как вы и сказали передать массив tabs и с помощью итерации создать компонеты Tabs внутри UserTabs):

    const createTabs = (tab) => tabs.map((tab) => {
      <Tab
        name={tab.name}
        tooltipText={tab.tooltipText}
        onTabClick={tab.onTabClick}
      />
    });
    
    const UserTabs = ({ tabs }) => <Tabs tabs={createTabs(tabs)} />;


    Подробнее о композиции можно почитать в документации.
    Ответ написан