深入了解JSX
一:Why is JSX
各种编程语言层出不穷,每天都有新的编程语言出现,每隔一段时间,流行的编程语言将会如皇朝般更替。对于程序员来说,这是件又爱又恨的事情。语言的变化适应着科技的发展,不断优化旧的编程模式,使程序设计更加简单、合理。但目前看来这种变化过于迅速,使得程序员应接不暇,旧的语言还没有搞明白,新的语言又来了,更加令人无法沉下心来做事情,每个人想着不被技术淘汰,不被社会淘汰。尤其在中国,程序员成为当今社会最为焦虑的一种人,程序设计师成为一种青春饭的职业,以至于人人云,35岁要转管理,要转产品,要做CTO,我个人对此嗤之以鼻,去他妈的管理,去他妈的CTO,老子就想做个安静的程序员,微信公众号:react-javascript。
牢骚一顿,还是看看Facebook为什么要整出个JSX。JSX是一种扩展的JavaScript语法,类似于XML。官网上是这么描述的:我们认为组件化更好的方式不是要创建“模板”和“展示逻辑”,而是在自己内部将这些关系进行关联。另外,展示逻辑一般会比较复杂,使用模板去表示会更加臃肿。我们发现最好的解决方案是直接用JavaScript去直接生成这些组件的HTML和表示逻辑。但是JavaScript本身不具备这样的能力,因此就出现了JSX。
二.JSX不是必须的。
JSX并不是ReactJS必须的,如果你喜欢,完全可以不用采用JSX,而采用ReactJS的函数去创建HTML节点。如下:
React.createElement(‘a’, {href: ‘https://facebook.github.io/react/'\}, ‘Hello!’)。
而采用JSX,则更加简单,清晰。如:
Hello!
如同在直接编写HTML标签,语法也基本相似,要比写ReactJS函数要方便的多。
三.组件中JSX的写法
1.节点写法与HTML类似
如:
var Nav;
// Input (JSX):
var app =
还没有评论,来说两句吧...