JSX在render函数中的应用详解
一.JSX简介
在四子王等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站建设 网站设计制作按需搭建网站,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销,外贸营销网站建设,四子王网站建设费用合理。
const element =Hello, world!
;
JSX 可以很好地描述 UI 应该呈现出它应有交互的本质形式。JSX 可能会使人联想到模版语言,但它具有 JavaScript 的全部功能。
Babel 会把 JSX 转译成一个名为 React.createElement() 函数调用。
以下两种示例代码完全等效:
const element = (Hello, world!
);
const element = React.createElement( 'h2', {className: 'greeting'}, 'Hello, world!' );
React.createElement() 会预先执行一些检查,以帮助你编写无错代码,但实际上它创建了一个这样的对象:
const element = { type: 'h2', props: { className: 'greeting', children: 'Hello, world!' } };
二.模板缺陷
模板的最大特点是扩展难度大,不易扩展。可能会造成逻辑冗余:
哈哈 哈哈 哈哈
Level组件需要对不同的type产生不同的标签
三.函数式组件
函数式组件没有模板,只允许提供render函数
export default { render(h) { return h("h" + this.type, {}, this.$slots.default); }, props: { type: { type: Number } } };
复杂的逻辑变得非常简单
四.JSX应用
使用jsx会让代码看起来更加简洁、易于读取
export default { render(h) { const tag = "h" + this.type; return{this.$slots.default} ; }, props: { type: { type: Number } } };
五.render方法定制组件
编写List组件,可以根据用户传入的数据自动循环列表
- {{item}}
通过render方法来定制组件,在父组件中传入render方法
render(h, name) { return {name}; }
我们需要createElement方法,就会想到可以编写个函数组件,将createElement方法传递出来
{{item}}
ListItem.vue调用最外层的render方法,将createElement和当前项传递出来
六.scope-slot
使用v-slot 将内部值传入即可
{{item}}
七.编写可编辑表格
基于iview使用jsx扩展成可编辑的表格
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
网页标题:JSX在render函数中的应用详解
文章转载:http://scyanting.com/article/gioioi.html