反应16.5.2
我正在通过一本书学习React,并尝试使用``清晰''React的工厂(即不在JSX中)。我尝试使用React构建的工厂之一,但出现了问题:
@Override
public void onBackPressed() {
int currentItem = viewPager.getCurrentItem();
if (currentItem != 0) {
viewPager.setCurrentItem(currentItem - 1, true);
} else {
super.onBackPressed();
}
}
为什么会发生?
UPD
这是通过React和Redux学习React Functional Web开发的屏幕:
答案 0 :(得分:3)
您必须使用React.createElement
而不是React.DOM
来创建元素
(() => {
const my_h1 = React.createElement('h1',null,"Stuff")
ReactDOM.render(React.createElement(my_h1),document.getElementById('root'))
})()
此外,对于React中的最新版本,React.DOM无效,因此您需要在脚本中包含Dom-factories
<script src="https://unpkg.com/react-dom-factories@1.0.0/index.js"></script>
然后到处将React.DOM
替换为ReactDOMFactories
例如
ReactDOMFactories.h1(null, "Hello World!")
此更改于2017年6月在15.6.0版附近引入。
答案 1 :(得分:0)
您要实现的目标是:
(() => {
const my_h1 = React.createElement("h1", null, "Stuff");
ReactDOM.render(my_h1, document.getElementById('root'));
})()