JSX是一種JavaScript的語法擴展,運用於React架構中,其格式比較像是模版語言,但事實上完全是在JavaScript內部實現的。元素是構成React套用的最小單位,JSX就是用來聲明React當中的元素,React使用JSX來描述用戶界面。
指定屬性
嵌套格式
const element = ( <div> <h1>Hello!</h1> <h2>Good to see you here.</h2> </div>);
使用表達式
function formatName(user) { return user.firstName + ' ' + user.lastName;}const user = { firstName: 'Harper', lastName: 'Perez'};const element = ( <h1> Hello, {formatName(user)}! </h1>);ReactDOM.render( element, document.getElementById('root'));
function getGreeting(user) { if (user) { return <h1>Hello, {formatName(user)}!</h1>; } return <h1>Hello, Stranger.</h1>;}
防注入攻擊
const title = response.potentiallyMaliciousInput;// 要接收到的可能含有危險內容的字元串放入大括弧中,這是比較安全的做法const element = <h1>{title}</h1>;
表示對象
const element = ( <h1 className="greeting"> Hello, world! </h1>);const element = React.createElement( 'h1', { className: 'greeting' }, 'Hello, world!');
// 注意: 以下示例是簡化過的(不代表在 React 源碼中是這樣)const element = { type: 'h1', props: { className: 'greeting', children: 'Hello, world' }};