[Solid] Syntax | 07. ref

2024. 6. 21. 13:35·Frontend/SolidJS

Solid는 DOM의 요소들을 참조변수로 받을 수 있습니다.

const myDiv = <div>My Element</div>;

그러나 이 경우 DOM을 구성할 때 각 요소들을 따로따로 구현한 뒤 이들을 모아 조합합니다.

 

이 방법은 각 참조 변수들을 호출해야 하기 때문에 가독성을 해칠 수 있습니다.

 

Solid의 ref 속성을 사용하면, 각 요소에 대한 참조를 바로 얻을 수 있습니다.

 

ref를 사용하면 해당 요소가 문서의 DOM에 첨부되기 전에 할당이 발생합니다.

let myDiv;

<div ref={myDiv}>My Element</div>

ref를 사용하고자 하는 컴포넌트가 다른 파일에 있을 때는 ref로 참조를 전달하기 어려울 수 있습니다.

 

이 때는 props.ref의 형태로 참조를 전달할 수 있습니다.

// *** App.js *** //
import { render } from "solid-js/web";
import { onMount, onCleanup } from "solid-js";

import Canvas from "./canvas";

function App() {
  let canvas;
  // ...
  return <Canvas ref={canvas} />; // props로 ref=canvas를 전달합니다.
}

render(() => <App />, document.getElementById("app"));


// *** Canvas.js *** //
export default function Canvas(props) {
  return <canvas ref={props.ref} width="256" height="256" />; // props 중 canvas를 ref값으로 받습니다.
}
728x90

'Frontend > SolidJS' 카테고리의 다른 글

[Solid] Syntax | 09. Store  (0) 2024.06.24
[Solid] Syntax | 08. props  (0) 2024.06.21
[Solid] Syntax | 06. classList  (0) 2024.06.21
[Solid] Syntax | 05. onMount & onCleanup  (0) 2024.06.20
[Solid] Syntax | 04. Control Flow  (0) 2024.06.20
'Frontend/SolidJS' 카테고리의 다른 글
  • [Solid] Syntax | 09. Store
  • [Solid] Syntax | 08. props
  • [Solid] Syntax | 06. classList
  • [Solid] Syntax | 05. onMount & onCleanup
Rayi
Rayi
  • Rayi
    아카이브
    Rayi
  • 전체
    오늘
    어제
    • 분류 전체보기 (276)
      • CS (40)
        • CV (2)
        • PS (34)
      • Reveiw (18)
        • Paper (18)
        • Github (0)
      • ML (8)
        • Pytorch (5)
      • Language (59)
        • Python (8)
        • JavaScript (32)
        • TypeScript (16)
        • C++ (3)
      • IDE (12)
      • Git (13)
      • Frontend (77)
        • React (8)
        • ReactNative (6)
        • SolidJS (20)
        • CSS (12)
      • Backend (44)
        • DB (18)
        • Node.js (11)
      • UI (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    deploy
    nodejs
    modal
    CS
    ts
    GAN
    vscode
    react
    CV
    review
    backend
    Git
    API
    PyTorch
    mongo
    ReactNative
    frontend
    js
    SOLID
    expo
    figma
    postgresql
    CSS
    python
    PRISMA
    ps
    Express
    DB
    Three
    ML
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Rayi
[Solid] Syntax | 07. ref
상단으로

티스토리툴바