React jsx文件介紹與使用方式
顯而易見的,使用jsx的前提是對于js的語法和使用有一定的了解。
1. 相通點
1)import引入方式
import React, { useState, useEffect, useRef } from 'react';
2)語法
聲明、賦值、函數及ES6語法通用。
2. 不同處:(先jsx后js)
const element = ( <h1 className="greeting"> Hello, world! </h1> );
直白點,我們可以在jsx里面直接編輯html的結構,并且不必加入繁瑣的啰嗦的多重引號,只需一對()即可。
上述代碼如果看著陌生,那么你可以參照下面的js寫法進行對照學習:
const element = React.createElement( 'h1', {className: 'greeting'}, 'Hello, world!' );
基于其書寫方式,我們自然可以想象的到在html結構內使用變量賦值,此時你需要根據react的要求書寫變量(是Class類實現或hook實現的數據綁定;前者需要帶著this,后者可以直接書寫變量名)。
【露一手】
實際上,jsx幫助我們在代碼結構上更易讀,組件化的結果是jsx的貢獻之一,在拿到react項目中的代碼后,不必費力地閱讀,打開jsx,找到render(class方式)或者function中的return(hook式),其中的DOM和綁定的數據方法一目了然,也就有了如下的組件寫法:
{isDisplayDetail && <Enter options={options} goBack={handleBack} />}
(新的內容)
本人是從Vue崗位后轉到React崗位上,所以在實際工作環(huán)境中遇到的問題,常常先思考Vue下的實現,然后通過閱讀React的文檔進行”轉譯“,實際上,這個方式并不會導致更多的錯誤,而是更快地學習到React下的解決辦法;
承上,舉例說明:
v-for是我們在vue當中最常用的指令之一了,在react中如何實現呢?
{ BoxList.map(item => ( <div key={item.id} onClick={handleCheck} className={style.item} data-id={item.id}> <img src={item.isActive ? selectImg : unSelectImg} /> <p>{item.name}</p> </div> )) }
BoxList是一個 [ ] 數組對象,通過Array變量的map操作,ES6的箭頭函數
我們可以充分地相信,jsx是一項改變前端書寫模式的”技術“。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
React?中使用?RxJS?優(yōu)化數據流的處理方案
這篇文章主要為大家介紹了React?中使用?RxJS?優(yōu)化數據流的處理方案示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02react?component?function組件使用詳解
這篇文章主要為大家介紹了react?component?function組件的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11