react开发教程(三)组件的构建
什么是组件组件化就好像我们的电脑装机一样,一个电脑由显示器、主板、内存、显卡、硬盘,键盘,鼠标...。 组件化开发有如下的好处: 在团队开发中,组件化带来的优势是便于协同开发,由于代码中的耦合度降低了,每个模块都可以分拆为一个组件,例如异步请求组件,路由组件,各个视图组件。 在Javascript 的开发中,组件化其实和模块化的意义相当,大概是根据功能、业务进行代码划分,使到这部分的代码可以被复用,例如 $、_ 这些工具库就是将功能进行模块化。 组件的规范组件化的封装思路就是面向对象思想;
React组件构建Web Components通过自定义元素的方式实现组件化,而React的本质就是关心元素的构成,React组件即为组件元素。组件元素被描述成纯粹的JSON对象,意味着可以使用方法或是类来构建。React组件基本由3个部分构成----属性(props)、状态(state)、以及生命周期方法。 React.createClass用React.creatClass构建组件是React最传统,也是兼容性最好的方法。 const List = React.createClass({ getDefaultProps() { return { color : "#f00",text : "我是列表" } },render() { const {color,test} = this.props; return ( <li className={`btn btn-${color}`}>{test}</li> ) } }) 调用的时候只需要<List/>,每一次调用都会被编译成React.createElement(List)方法来创建List实例,这意味着每次调用<List/>就会创建一次li; ES6 classimport React,{Component} from 'react'; class List extends Component { constructor(props) { super(props) } static defaultProps = { color : "#f00",text : "我是列表" }; render() { const {color,test} = this.props; return ( <li className={`btn btn-${color}`}>{test}</li> ) } } 无状态函数function List({color="#f00",test="我是列表"}){ return ( <li className={`btn btn-${color}`}>{test}</li> ) } 无状态函数构建的组件称为无状态组件,这种构建方式是0.14版本后新增的,官方推崇 在合适的情况下我们都应该使用这种组件方式。无状态组件不像上述两种方法在调用时会创建新实例,它创建时始终保持了一个实例,避免了不必要的检查和内存分配,做到了内存优化。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |