之前浏览过并理解完了react的一些基础知识后,本文将开始一边写 demo 一边继续 react 的学习之旅。
react官网地址:React: A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES
本文中的代码 github 地址:demo实例
demo的html模板
本文中所有的 demo ,都采用以下这个 html 模板:
|
|
demo2: 数组变量
如代码,当变量 arrHtml
是一个数组的时候,jsx 会自动遍历展开整个数组:
|
|
React.createClass
方法生成一个组件类 ArrHtml
;模板插入 <ArrHtml/>
时,会自动生成 ArrHtml
的一个实例;最后 render 出来的 html 结构如下:
|
|
demo3: props props.children
this.props
:实例元素的属性集合;this.props.children
:组件实例的所有子节点。
|
|
刚开始,一些知识小点,尽管学过知道,实践时总会踩踩小坑:
return:直接换行,相当于加了分号;
,导致后续代码报错;要么不换行、要么括号包裹一下 return ();
。
jsx语法,js一定要放在 {}
里面。ListHtml
的开头字母没有大写,标签直接是listHtml了
,组件类完全失效。
demo4: getDefaultProps
getDefaultProps
:设置组件属性的默认值;优先级:自定义 > 默认的,无自定义的则取默认的。
在 demo4 的代码里,可以随意删除 id\title属性的设置,看看效果:<Title id='new-title' title='new title!' />
:
|
|
demo5: ref ReactDOM.findDOMNode
this.refs.[refName]
属性获取的是真实 DOM;
首先需要设置 React 元素的 ref
属性,然后通过 this.refs
对象访问这个组件。
注意,旧版本的是React.findDOMNode()
,新版本应该用ReactDOM.findDOMNode()
,否则报错。
|
|
更多学习demo,待续…
本文中的代码 github 地址:demo实例