亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

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

2024-07-21 02:03:10
字體:
來源:轉載
供稿:網友

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>

不可控的自定義組件:

<!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>              <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['label'+i]=label;          }.bind(this));          return <span>{children}</span>;        }      });      var MyForm=React.createClass({        handleSubmit:function(event){          event.preventDefault();          alert(this.refs.radio.state.value);        },        render:function(){          return (            <form onSubmit={this.handleSubmit}>            <Radio ref="radio" name="my_radio" defaultValue="B">              <p value="A">First</p>              <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><!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>              <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['label'+i]=label;          }.bind(this));          return <span>{children}</span>;        }      });      var MyForm=React.createClass({        handleSubmit:function(event){          event.preventDefault();          alert(this.refs.radio.state.value);        },        render:function(){          return (            <form onSubmit={this.handleSubmit}>            <Radio ref="radio" name="my_radio" defaultValue="B">              <p value="A">First</p>              <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>

總結

以上所述是小編給大家介紹的ReactJS中的自定義組件實例代碼,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品午夜视频| 国产精品69精品一区二区三区| 在线视频欧美性高潮| 国产经典一区二区| 91中文字幕在线观看| 在线精品国产欧美| 2020国产精品视频| 日韩视频免费看| 日韩精品中文字幕久久臀| 欧美视频13p| 国产91ⅴ在线精品免费观看| 日韩亚洲第一页| 亚洲精品久久久久久久久久久久| 高清亚洲成在人网站天堂| 国产热re99久久6国产精品| 日产精品久久久一区二区福利| 亚洲美女精品成人在线视频| 中文字幕精品网| 日韩电影免费观看在线观看| 日韩一区二区在线视频| 久久久天堂国产精品女人| 亚洲精品日韩久久久| 欧美猛交ⅹxxx乱大交视频| 国模gogo一区二区大胆私拍| 欧美一区二区大胆人体摄影专业网站| 久久久成人精品视频| 81精品国产乱码久久久久久| 亚洲成人精品视频| 国产精品丝袜久久久久久不卡| 国产视频丨精品|在线观看| 欧美久久精品一级黑人c片| 热re99久久精品国产66热| 久久精品久久久久| 91精品视频专区| 日韩人体视频一二区| 91久久久久久久| 国产日韩欧美综合| 亚洲永久免费观看| 日韩欧美黄色动漫| 久久免费成人精品视频| 中文字幕成人精品久久不卡| 久久久久久中文| 性金发美女69hd大尺寸| 国产精品网站大全| 深夜福利一区二区| 欧美在线性爱视频| 伊人久久免费视频| 欧美日韩一区二区在线播放| 欧美xxxx18国产| 国产在线一区二区三区| www.日本久久久久com.| 97在线看福利| 亚洲男子天堂网| 日产日韩在线亚洲欧美| 456亚洲影院| 美日韩在线视频| 久久久久久中文字幕| 亚洲情综合五月天| 永久免费看mv网站入口亚洲| 久久亚洲成人精品| 日本精品性网站在线观看| 亚洲第一福利视频| 国产一区二区三区在线播放免费观看| 色av中文字幕一区| **欧美日韩vr在线| 9.1国产丝袜在线观看| 97久久精品视频| 日韩欧美国产一区二区| 成人精品aaaa网站| 亚洲天堂av电影| 88xx成人精品| 亚洲欧美国产一区二区三区| 久久国产精彩视频| 国产精品日韩一区| 97av在线播放| 高清欧美电影在线| 色综合久综合久久综合久鬼88| 欧美老肥婆性猛交视频| 欧美日韩国产成人在线| 夜夜嗨av一区二区三区免费区| 亚洲男人的天堂在线| 伊人久久大香线蕉av一区二区| 亚洲色图国产精品| 欧美在线一级视频| 日韩欧美视频一区二区三区| 亚洲自拍偷拍网址| 亚洲欧美日韩国产成人| 精品美女国产在线| 91精品国产高清久久久久久91| 欧美日韩在线视频一区| 亚洲人成电影网| 国产精品大片wwwwww| 久久久久久国产| 亚洲综合在线播放| 97视频网站入口| 国产日韩欧美日韩大片| 欧美性猛交视频| 国产xxx69麻豆国语对白| 91在线观看欧美日韩| 最近中文字幕日韩精品| 日本亚洲欧美成人| 欧美另类交人妖| 日韩美女中文字幕| 成人黄色在线观看| 国产欧美在线观看| 一区二区三区 在线观看视| 奇米成人av国产一区二区三区| 国产精品96久久久久久| 日韩人体视频一二区| 国产精品日韩在线观看| 亚洲丁香婷深爱综合| 国产精品第三页| 欧美亚洲伦理www| 国产精品永久免费视频| 欧美激情2020午夜免费观看| 国产精品久久久久免费a∨| 国产精品久久一区主播| 亚洲国产精品嫩草影院久久| 久久久视频在线| 免费av一区二区| 国产深夜精品福利| 国产午夜精品理论片a级探花| 国产欧美在线播放| 超碰精品一区二区三区乱码| 精品久久久久久中文字幕一区奶水| 久久影视电视剧凤归四时歌| 97精品视频在线| 日韩男女性生活视频| 国产成人鲁鲁免费视频a| 亚洲激情在线视频| 美女精品久久久| 精品自拍视频在线观看| 国产精品久久久久久久久影视| 亚洲欧美综合区自拍另类| zzijzzij亚洲日本成熟少妇| 97成人精品区在线播放| 97香蕉久久夜色精品国产| 亚洲欧美一区二区三区四区| 亚洲人成网站777色婷婷| 97视频在线观看免费高清完整版在线观看| 亚洲午夜国产成人av电影男同| 亚洲xxxx做受欧美| 国产综合福利在线| 国产精品久久久久久av福利软件| 国产精品一区二区久久精品| 日韩成人中文字幕| 亚洲精品久久久一区二区三区| 久久久久久伊人| 成人久久久久久久| 91九色国产在线| 亚洲久久久久久久久久| 久久综合九色九九| 国产欧美日韩亚洲精品| 高清欧美性猛交xxxx| 日本高清视频精品| 精品视频中文字幕| 欧美性猛交xxxx乱大交蜜桃| 97av视频在线| 亚洲区中文字幕| 最近2019年好看中文字幕视频| 国产精品永久免费视频| 亚洲天堂成人在线| 亚洲天堂免费视频| 欧美与黑人午夜性猛交久久久|