@bighoc
php/javascript developer

Как динамически вызывать компонент React?

Например у меня скажем мне может прийти в переменную 'FormOne' или 'FormTwo'.
В зависимости от этого я хочу отрендерить конкретный елемент JSX.
То есть либо либо

Как это сделать ?
  • Вопрос задан
  • 197 просмотров
Пригласить эксперта
Ответы на вопрос 3
@roman01la
let component;
if (a === 'FormOne') component = <FormOne />
else if (a === 'FormTwo') component = <FormTwo />

{component}
Ответ написан
Комментировать
@bighoc Автор вопроса
php/javascript developer
что такое let ?
К такому методу я тоже пришёл, но могу ли я внутри тегов использоваться переменную у?

Наверное вот так ? < {variable} /> !
Ответ написан
voidnugget
@voidnugget
Программист-прагматик
Достаточно плохо сформулирован вопрос

Если прямо в JSX шаблоне
{typeof FormOne !== 'undefined'? (<FormOne />): typeof FormTwo !== 'undefined'? (<FormTwo />): '' }

а вот так уже внутри шаблона не получится
{if (FormOne !== 'undefined') (<FormOne />) else if (typeof FormTwo !== 'undefined') (<FormTwo />)}

Так можно сделать только вне шаблона
render: function() {
  var Component = false
  if (FormOne !== 'undefined')
    Componenet = (<FormOne />);
  else if (typeof FormTwo !== 'undefined')
    Component = (<FormTwo />);

  return (
    {!!component ? (<Component/>): 'No component'}
  );
},
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы