在 什麽是 JSX (Day2) 的时候有写过,JSX 会经过 Bable 转译成 React.createElement 语法,可以说其实每个 JSX 元素都只是呼叫 React.createElement 的语法糖。
ReactDOM.render(
React.createElement("h1", null, "Hello Bable"),
document.getElementById('root')
);
Hyperscript 指的是使用 JavaScript 来创建 Hypertext(超文本),一个比较经典 Hyperscript 实现是hyperhype/hyperscript。与 ejs,JSX,jade 等模板语言(template language)不同,Hyperscript 通过函数来创建 DOM 元素。
使用变数缩写:
const h = React.createElement;
ReactDOM.render(
h('div', null, 'Hello World'),
document.getElementById('root')
);
不同 “hyperscript” 写法比较:
// JSX
<ul id="bestest-menu">
{items.map( item =>
<li id={"item-"+item.id} {...attrs(item.id)}>{item.title}</li>
)}
</ul>
// plain hyperscript
h('ul#bestest-menu', items.map( item =>
h('li#item-'+item.id, attrs(item.id), item.title))
);
// hyperscript-helpers
ul('#bestest-menu', items.map( item =>
li('#item-'+item.id, attrs(item.id), item.title))
);
//来源:https://github.com/ohanhi/hyperscript-helpers
以上今天
参考资料:
https://zh-hant.reactjs.org/docs/react-without-jsx.html
https://github.com/ohanhi/hyperscript-helpers
https://yoyoyohamapi.gitbooks.io/cycle-js-21/content/9.html
<<: Angular Stock上市个股日成交(一)(Day27)
>>: [Day27 ] Chained Exploits - 链式漏洞利用(漏洞利用组合技)
建立第一份html文件,需要注意一些细节 如没宣告加上!doctype html会导致浏览器解读功...
铁人赛写到现在,其实主题中的内容还有很多可以实作的部分,但一方面是不确定时间到期後,铁人赛系列还能不...
第一步当然是先安装 rails-18n gem 接着建立导览列可以在以下连结复制贴上即可:https...
在安装完Shioaji套件之後,我们就可以开始使用api的功能了。 第一步当然是要登入我们的帐户啦,...
DOM DOM 是什麽呢? DOM(Document Object Model) 当浏览器进入网页时...