React.js開發入門教學(2)-傳入變數
上一篇我們已經成功的將最基本的DOM的建立與hello world學會了,這一次我們
來學學怎麼改變傳入DOM的變數吧。我們延續上次所用的hello world的代碼,但
是這次我們不要讓他固定顯示hello world,所以我們應該把建立元素的部分把它
拉出去當作一個function來用用!
先回顧一下上次的代碼:
var style = {style:{backgroundColor: 'black', color: '#FFFFFF'}}
ReactDOM.render(
React.createElement('h2', style, 'hello world'),
document.getElementById('test')
);
我們把這個代碼作一下小修改,改成以下的樣子
var style = {style:{backgroundColor: 'black', color: '#FFFFFF'}}
var helloworld = React.createClass({ //建立起一個React的component
render:function(){ //這是返回一個reacjt元件用的方法
return React.DOM.h2(style, 'hello world'); //老樣子,建立DOM
}
}
);
ReactDOM.render(
React.createElement(helloworld), //這裡把剛剛的component塞進去
document.getElementById('test')
);
當你按下執行的時候,應該會與原本的結果沒有任何差別!這就表示你成功了!
接著我們來試著改變一下component的內容!把 world 字串改成 this.props.name
return React.DOM.h2(style, 'hello ' + this.props.name);
<script src="https://unpkg.com/react@15/dist/react.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script>
馬上執行之後,你應該會發現結果是 hello undefined
那是因為我們沒有傳任何值給他!所以我們再賦予它name的值
var style = {style:{backgroundColor: 'black', color: '#FFFFFF'}}
var name = {name: 'leo'} //建立一個變數來放放名字
var helloworld = React.createClass({
render:function(){
return React.DOM.h2(style, 'hello ' + this.props.name);
}
}
);
ReactDOM.render(
React.createElement(helloworld, name), //把變數塞進去
document.getElementById('test')
);
這次在執行總算看到了我們成功的將名字傳到我們要的元件中啦!
既然已經有辦法傳數值了,下次就來學學怎麼從表單中取值放進去吧!!