React 之 JSX
阿新 • • 發佈:2019-04-17
for oot get clas java ons 編譯 在一起 class
開發完了一個項目了才回來研究React 一系列的技術,算是對自己的一個提高吧,也是小公司程序員的無奈。
JSX是什麽?
JSX是javascript的語法的擴展。
為什麽使用JSX?
1、React 認為渲染邏輯本質上與其他UI邏輯內存在耦合。
2、JSX 執行更快,因為它在編譯為 JavaScript 代碼後進行了優化。
3、在編譯過程中就能提供有效的錯誤或者警告信息,類型安全。
4、JSX和UI 放在一起的方式,對開發來說,是視覺上能起到一定的輔助作用。
JSX 使用,
JSX 中可以嵌入js表達式,同時JSX自身也是個表達式
functionformatName(user) { if(user){
return <h1>{user.firstName}"_"{user.lastName} </h1>; {/*JSX 被當成了一個表達式*/} }else{
return <h1>word!</h1>
}
} const user = { firstName: ‘Rain‘, lastName: ‘tdk‘ }; const element = ( <div> Hello, {formatName(user)}! {/*JSX嵌入了一個表達式*/} </div> ); ReactDOM.render( element, document.getElementById(‘root‘) );
JSX可以有效的防止註入攻擊。
在渲染所有輸入內容的之前默認會進行轉義成字符串。這樣就可以有效的防止xss(cross-site-scrpting)攻擊。
React 之 JSX