国产探花免费观看_亚洲丰满少妇自慰呻吟_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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云龙县| 汝阳县| 长岭县| 抚松县| 都安| 搜索| 驻马店市| 青川县| 云梦县| 安阳市| 甘泉县| 沁阳市| 齐齐哈尔市| 九江市| 小金县| 嵊州市| 建水县| 龙海市| 巨野县| 高清| 文化| 明溪县| 嘉荫县| 二连浩特市| 普安县| 佛冈县| 泸水县| 葫芦岛市| 察隅县| 左云县| 正阳县| 丰宁| 北宁市| 新丰县| 斗六市| 河北区| 达拉特旗| 安新县| 瓮安县| 郧西县| 祥云县|