国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

ReactJS中的自定義組件實例代碼

2024-07-09 22:41:51
字體:
來源:轉載
供稿:網友

React 是一個用于構建用戶界面的 JAVASCRIPT 庫。

React 主要用于構建UI,很多人認為 React 是 MVC 中的 V(視圖)。

React 起源于 Facebook 的內部項目,用來架設 Instagram 的網站,并于 2013 年 5 月開源。

React 擁有較高的性能,代碼邏輯非常簡單,越來越多的人已開始關注和使用它。

React 特點

1.聲明式設計 −React采用聲明范式,可以輕松描述應用。

2.高效 −React通過對DOM的模擬,最大限度地減少與DOM的交互。

3.靈活 −React可以與已知的庫或框架很好地配合。

4.JSX − JSX 是 JavaScript 語法的擴展。React 開發不一定使用 JSX ,但我們建議使用它。

5.組件 − 通過 React 構建組件,使得代碼更加容易得到復用,能夠很好的應用在大項目的開發中。

6.單向響應的數據流 − React 實現了單向響應的數據流,從而減少了重復代碼,這也是它為什么比傳統數據綁定更簡單。

可控自定義組件:

<!DOCTYPE html><html>  <head>    <meta charset="UTF-8">    <title></title>    <script src="js/react.js"></script>    <script src="js/react-dom.js"></script>    <script src="js/browser.min.js"></script>  </head>  <body>    <script type="text/babel">      var Radio=React.createClass({        getInitialState:function(){          return {            value:this.props.defaultValue          };        },        handleChange:function(event){          if(this.props.onChange){            this.props.onChange(event);          }          this.setState({            value:event.target.value          });        },        render:function(){          var children=[];          var value=this.props.value||this.state.value;          React.Children.forEach(this.props.children,function(child,i){            var label=<label key={i}>              <input type="radio" name={this.props.name} value={child.props.value} checked={child.props.value==value} onChange={this.handleChange}/>              {child.props.children}              <br/>          </label>;          children.push(label);          }.bind(this));          return <span>{children}</span>;        }      });      var MyForm=React.createClass({        getInitialState:function(){          return ({my_radio:"B"});        },        handleChange:function(event){          this.setState({            my_radio:event.target.value          });        },        submitHandler:function(event){          event.preventDefault();          alert(this.state.my_radio);        },        render:function(){          return (            <form onSubmit={this.submitHandler}>            <Radio value={this.state.my_radio} name="my_radio" onChange={this.handleChange}>              <option value="A">First option</option>              <option value="B">Second option</option>              <option value="C">Third option</option>            </Radio>            <button type="submit">Speak</button>            </form>          )        }      });      ReactDOM.render(<MyForm></MyForm>,document.body);    </script>  </body></html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 航空| 都兰县| 榕江县| 宜宾县| 东乌珠穆沁旗| 大连市| 北流市| SHOW| 荣成市| 栾城县| 宣城市| 祁阳县| 铜陵市| 宜君县| 昭平县| 沾化县| 辽源市| 长白| 荆州市| 富蕴县| 云南省| 卢湾区| 油尖旺区| 绍兴市| 汝南县| 若尔盖县| 嵊州市| 鄂尔多斯市| 涟源市| 井研县| 平果县| 临安市| 东乌珠穆沁旗| 太仓市| 静宁县| 弋阳县| 乐业县| 礼泉县| 元朗区| 淮安市| 哈尔滨市|