Я новичок в React, поэтому извиняюсь, если это глупый вопрос, или если мне не хватает чего-то очевидного, но я обновляю проект, написанный для более ранней версии React чтобы следовать новому синтаксису createElement (мы не можем использовать JSX, поэтому весь наш код использует собственные вызовы JS).Вызов React.createElement с переменным именем ReactClass
Итак, это:
React.DOM.div(etc);
Становится это:
React.createElement('div', etc);
Во всяком случае, удар всю программу прочь, мы использовали функцию вне React-мира, который принимает имя ReactClass , и вызвал React.render, например:
React.render (window [ReactClassNameHere] (PropsGoHere), TargetGoesHere);
Это сработало отлично.
Однако в React 0.13.3 это уже недействительно, и я не могу понять, как это сделать. Я пробовал различные способы, в том числе:
React.render(
React.createElement(ReactClassNameHere, PropsGoHere, {}),
TargetGoesHere
);
... и:
React.render(React.createElement(window[ReactClassNameHere], PropsGoHere, {}),TargetGoesHere);
... и:
React.render(
React.createElement(React.createFactory(ReactClassNameHere), PropsGoHere, {}),
TargetGoesHere
);
Так, очевидно, я не знаю, достаточно понять, что происходит, и как это исправить. Любая помощь приветствуется, но, пожалуйста, будьте осторожны.
Почему это недействительно? –
Это совершенно верно, см. Http://jsfiddle.net/BinaryMuse/mcb1kt38/ –