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一书的屏幕:
您必须使用来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.DOM为ReactDOMFactories
例如
ReactDOMFactories.h1(null, "Hello World!")
Run Code Online (Sandbox Code Playgroud)
此更改是在 2017 年 6 月的版本 15.6.0 左右引入的。
| 归档时间: |
|
| 查看次数: |
1349 次 |
| 最近记录: |