91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

React中JSX與react事件的示例分析

發布時間:2021-08-03 09:21:48 來源:億速云 閱讀:118 作者:小新 欄目:web開發

小編給大家分享一下React中JSX與react事件的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1、JSX

1.1、表達式

在React中使用JSX來描述HTML頁面,而且可以與js混合使用,使用JavaScript表達式時要將表達式包含在大括號里

const user = {
 firstName: 'Harper',
 lastName: 'Perez'
};
const element = (    //將JSX語句保存在變量中
 <h2>
  Hello, {formatName(user)}!  {/* {}中寫js語句*/}
 </h2>
);

在編譯之后呢,JSX 其實會被轉化為普通的 JavaScript 對象,可以對其賦值或把它當作參數傳遞:

ReactDOM.render(
 element,        //通過JSX變量渲染react節點
 document.getElementById('root')
);

1.2、屬性

JSX中可以像HTML中一樣使用"字符串"的屬性,也可以使用{表達式}屬性:

const element = <div tabIndex="0"></div>;
const element = <img src={user.avatarUrl}></img>;

注意:

1、React DOM 使用 camelCase 小駝峰命名 來定義屬性的名稱,而不是使用 HTML 的屬性名稱。例如font-size要改為fontSize。

2、HTML中的保留字不能用于js中,例如class,應改為className:

const ele= <div className="red">Red Color</div>

3、JSX中行內樣式style需要用一個對象返回,而不是字符串:

const ele=<div >Red</div>     //會報錯
const ele= <div style={{color:'red'}}>Red</div>

{{color:red}}中第一個大括號代表這是一個js表達式,第二個代表這是一個用大括號引起的對象

1.3、嵌套

如果 JSX 標簽是閉合式的,那么需要在結尾處用 />:

const element = <img src={user.avatarUrl} />;

jJSX內含多個標簽時,返回時需要在最外面用一個div把它們包起來:

const element = (
 <div>
  <h2>Hello!</h2>
  <h3>Good to see you here.</h3>
 </div>
);

1.4、注釋

在jsx中的注釋要單獨占一行,且用大括號包起來,例如:{/*注釋*/},否則有可能會被當成普通文本,引起錯誤。

2、事件

react事件的綁定采用駝峰寫法onClick={this.function}

例如定義一個切換ON/OFF的函數shiftFlag:

class Toggole extends React.Component{
 constructor(props){
  super(props);
  this.state={
   flag:true
  };
  this.shiftFlag=this.shiftFlag.bind(this);   //函數shiftFlag綁定this
 }
 shiftFlag(e){
  e.preventDefault();
  this.setState({
   flag:!this.state.flag
  });
 }
 render(){
  return <a href="#" rel="external nofollow" onClick={this.shiftFlag}>{this.state.flag?'ON':'OFF'}</a>
 }
}

注:

1、類的方法默認是不會綁定this的,直接在方法shiftFlag中使用this會報錯this is undefined,因此需要為shiftFlag綁定this。

2、e是一個事件參數,使用e.preventDefault()方法來阻止a標簽的默認跳轉行為。

react事件參數的傳遞通過綁定來實現,在傳遞時,綁定的this在前,參數在后。在定義函數時,事件對象e要放在最后,例如定義一個setName函數修改name為傳入的參數:

class Name extends React.Component{
 constructor(props){
  super(props);
  this.state={
   name:'default'
  }
 }
 setName(name,e){   //事件e放在最后
  this.setState({
   name:name
  })
 }
 render(){
  return <button onClick={this.setName.bind(this,'tory')}>{this.state.name}</button>
 }
}

以上是“React中JSX與react事件的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

翁牛特旗| 调兵山市| 耒阳市| 渝中区| 镇康县| 屯留县| 安图县| 全州县| 南安市| 泊头市| 遵义县| 平顶山市| 六枝特区| 孟州市| 盐山县| 东平县| 温州市| 皮山县| 金乡县| 海林市| 射洪县| 尼勒克县| 商丘市| 三江| 客服| 仙游县| 同德县| 桃园县| 仙居县| 鹤峰县| 沾化县| 莱阳市| 随州市| 怀安县| 张北县| 惠水县| 都匀市| 崇仁县| 海盐县| 育儿| 云阳县|