初识React(一):新版本的问题

开始上手React。前面有在看Stoyan Stefanov的《React快速上手开发》,感觉入门还挺方便的,就来实操下吧,结果一下子就掉坑里了。

去github下载了最新的16.8.6的react.js和react-dom.js。然后照着书本的例子打了下代码,没有效果,还报一个脚本错误。书中代码如下:

ReactDOM.render(
    React.DOM.h1(null,"hello react"),
    document.getElementById("app")
)

然后浏览器就报一个脚本错误:Cannot read property 'h1' of undefined。也就是说这里的h1本来是作为React.DOM中的HTML元素集合的,但是现在竟然说没有这个属性,测试下console.log(React.DOM),结果是输出:undefined。奇了怪了。

有问题就百度,结果百度出来的内容和书本上的差别还是比较大的,幸好作者有在github上提供书本源代码,下载下来一对照原来是版本有问题,在我下载的版本中貌似React.DOM不能用了,换低版本(16以下),就能正常运行。不过createElement方法还是能用的,所以以下代码还是可以正常使用的:

ReactDOM.render(
    React.createElement("h1",null,"hello react"),
    document.getElementById("app")
)

同时在百度找答案的时候发现了babel这个新脚本类型,目前还一直在用type="text/javascript",后续估计都要使用type="text/babel"了。先做好准备。

另外还有个问题:就是书本第二章一开始有个创建组件的方法:createClass,结果代码一跑又是一个脚本错误:React.createClass is not a function。这个又是版本问题了。新版本中则是利用如下的代码来创建组件的了:

class CustomTag extends React.Component {
    render() {
        return (
            <h1>hello react</h1>
        )
    }
}
ReactDOM.render(
    <CustomTag />,
    document.getElementById("app")
);

React版本更新后区别还是挺大的,看来还是去换本书吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值