我是React的新手,如果这是一个愚蠢的问题,或者如果我错过了一些明显的东西,我会道歉,但我要升级为早期版本的React编写的项目,请关注新的" createElement"语法(我们不能使用JSX,所以我们所有的代码都使用本机JS调用)。
所以,这个:
React.DOM.div(etc);
成为这个:
React.createElement('div', etc);
无论如何,为了解决整个程序问题,我们使用了React-world之外的函数,该函数接受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
);
显然,我不太了解发生了什么,也不知道如何解决问题。任何帮助表示赞赏,但请保持温和。
答案 0 :(得分:1)
你可以使用这个。注意我从createElement中删除了{}。如果你不想要子元素,你应该将该param设置为null或跳过它。
React.render(
React.createElement(ReactClassNameHere, PropsGoHere),
TargetGoesHere
);