为什么 React.DOM 是未定义的?

And*_*man 5 javascript reactjs

React 16.5.2
我正在通过一本书学习 React 并尝试使用“清晰” React 的工厂(即不在 JSX 中)。我尝试使用 React 构建的工厂之一,但我遇到了问题:

(() => {    
    const my_h1 = React.DOM.h1(null,"Stuff") // TypeError: Cannot read property 'h1' of undefined
    ReactDOM.render(my_h1,document.getElementById('root'))
})()
Run Code Online (Sandbox Code Playgroud)

为什么会发生?

UPD

这是Learning React Functional Web Development with React and Redux一书的屏幕:

在此处输入图片说明

Shu*_*tri 4

您必须使用来React.createElement创建一个元素而不是React.DOM

(() => {    
    const my_h1 = React.createElement('h1',null,"Stuff")
    ReactDOM.render(React.createElement(my_h1),document.getElementById('root'))
})()
Run Code Online (Sandbox Code Playgroud)

此外,在 React 的最新版本中,React.DOM 不再有效,您需要Dom-factories在此脚本中包含

<script src="https://unpkg.com/react-dom-factories@1.0.0/index.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后到处替换React.DOMReactDOMFactories

例如

ReactDOMFactories.h1(null, "Hello World!")
Run Code Online (Sandbox Code Playgroud)

此更改是在 2017 年 6 月的版本 15.6.0 左右引入的。