1.react 組件建立react
首先要引入如下三個庫:瀏覽器
react組件的建立有三種方式:babel
(1).dom
<script type="text/babel"> //類型必須爲babel var Hello =React.createClass({ render:function(){ return <p>hello</p>; } }); ReactDOM.render( <Hello/>, document.getElementById('exp') ) </script>
首先建立react 組件類,在經過ReactDOM.render()將其渲染在id爲exp的dom中函數
(2)使用函數定義了一個組件:this
function New(props,refs){ console.log(props,refs) return <p>New</p>; } ReactDOM.render( <New class="q"/>, document.getElementById('example') );
(3)使用 ES6 class 來定義一個組件:spa
class New extends React.Component { render() { return (
<p>New</p> ) } ReactDOM.render( <New/>, document.getElementById('ex') )
2.react State(狀態)code
React 把組件當作是一個狀態機(State Machines)。經過與用戶的交互,實現不一樣狀態,而後渲染 UI,讓用戶界面和數據保持一致。component
React 裏,只需更新組件的 state,而後根據新的 state 從新渲染用戶界面(不要操做 DOM)。blog
如下實例建立一個名稱擴展爲 React.Component 的 ES6 類,在 render() 方法中使用 this.state 來修改當前的時間。
添加一個類構造函數來初始化狀態 this.state,類組件應始終使用 props 調用基礎構造函數。
class Clock extends React.Component { constructor(props) { super(props); this.state = {date: new Date()};//初始化state } render() { return ( <div> <h1>Hello, world!</h1> <h2>如今是 {this.state.date.toLocaleTimeString()}.</h2> </div> ); } } ReactDOM.render( <Clock />, document.getElementById('example') );
3.refs 使用
class New extends React.Component { render() { return ( <div ref>//在組件的某個節點標籤上 添加 ref //便可在this.refs中看到該節點下的全部 節點,即數據 <p>1</p> <span>2</span> </div> ) } componentDidMount(){ console.log(this.refs.true.children[0].innerHTML)//經過refs獲取帶有 ref節點的 第一個子元素的內容 } } ReactDOM.render( <New/>, document.getElementById('ex') )