220318 React JSX


JSX

  • 正式文書は文字列でもタグでもありません.
    Javascriptを拡張する構文
  • わかりやすいのは、HTMLを含むJS==JSX!
  • ブラウザで実行する前に、バーベルを使用して通常のJavaScriptの構文に変換します.
  • バーベルはJSXを再生します.createElement()呼び出しにコンパイル
  • 反応器では、JSX構文を使用してReact要素を作成し、DOMで描画するビュー
  • にレンダリングする.

    JSX構文

  • ラベルは
  • を閉じる必要があります.
    import logo from "./logo.svg";
    import "./App.css";
    
    function App() {
      let name = "nuri"
    
      return (
        <div id="id" className="App">
          {name !== "1" ? name : "1"}
          {name}
          <p style = {{color: "orange", fontSize: "20px"}}>안녕하세요. 리액트 반입니다! :)</p>
          <input type="text" />
        {/* </div> */} // 이 부분 주목!!!!
      );
    }
    
    export default App;
  • 無条件でelment 1個のみ返却
  • が親要素に囲まれた形態でなければならないように、
  • なぜ
  • 反応素子の中で1つの元素で複数の元素を包むのですか?
  • Vertaul DOMで素子変化を検出した.
  • 規則は、効率的な比較のために、要素内部にDOMツリー構造を構築することを要求する.
    return (
    <p>안녕하세요! 리액트 반입니다 :)</p>
    <div className="App">
    <input type='text'/>
    </div>
    );
  • JSXからJavaScript値または書き込み式を取得する場合は、次の操作を行います.
    カッコを使用すると
  • になります.
          <p style = {{color: "orange", fontSize: "20px"}}>안녕하세요. 리액트 반입니다! :)</p>
    - 스타일은 딕셔너리로 넘겨줘야 하기 때문에 {} 중괄호 1번
    - 자바스크립트 표현식을 쓰고 싶다면 중괄호를 사용해야하기 때문에 중괄호 {} 1번
    - 총 2번의 중괄호를 사용한다
    クラス名
  • クラスの代わりに
        <div id="id" className="App"> //id는 id로 사용한다
  • React DOM HTMLドキュメントツリー名の代わりにCAMEL CASE Property命名規則を使用
    <p style = {{color: "orange", fontSize: "20px"}}>안녕하세요. 리액트 반입니다! :)</p>
    ==> Html : font-size
    ==> React : fontSize
  • 行、柱周期
  • <p style={{color: 'orange', fontSize: '20px'}}>orange</p>
    //혹은 스타일 딕셔너리를 변수로 만들고 쓸 수 있다
    function App() {
    	const styles = {
    		color: 'orange',
    		fontSize: '20px'
    	};
    	return (
    		<div className="App">
    			<p style={styles}>orange</p>
    		</div>
    	);
    }
  • Reactでコメントを処理する方法
  • JSX内では{/.../}と同じフォーマットを使用します.
  • return (
        <div id="id" className="App">
          {/* <input type="text" /> */} // 주목!!!!!
        </div>
      );