首先,从React v0.14开始,有一个名为的新软件包
react-dom。它抽象化了您将运行React的“环境”,在您的情况下,它就是浏览器。
https://facebook.github.io/react/blog/2015/10/07/react-v0.14.html#two-
packages-react-and-react-
dom
因此,由于您现在有了两个软件包:“
react”来创建React组件,“
react-dom”来将React与浏览器“集成”,因此您需要调用它们每个提供的正确方法。
然后,回答您的问题:
为什么react-dom使用React.createElement造成问题?
具有包
React.createElement是
react与 不是
react-dom。
是因为这个新版本的React吗?
是的,您无法再
React.render(从package
react)调用,而需要使用
ReactDOM.render(从package
react-dom)。
有没有更好的方法来解决这些问题而不必调用react-dom和react?
我不认为这是一个“问题”,您只需要知道现在有一个特定的软件包即可操作DOM。而且,这是一种“良好”的模式,因为如果有时您想将组件呈现为HTML(使用服务器来呈现),则只需进行一些改动,您的代码就会相同。



