glendix/react
Types
React가 렌더링하는 요소
pub type ReactElement
Values
pub fn component_el(
comp: Component,
attrs: List(a),
children: List(ReactElement),
) -> ReactElement
속성 리스트 기반 React 컴포넌트 합성
pub fn component_el_(
comp: Component,
children: List(ReactElement),
) -> ReactElement
속성 없이 자식만으로 컴포넌트 요소 생성
pub fn define_component(
name: String,
render: fn(props) -> ReactElement,
) -> Component
이름 있는 React 컴포넌트 정의 (DevTools 표시, React.memo 가능)
pub fn element(
tag: String,
attrs: List(a),
children: List(ReactElement),
) -> ReactElement
속성 리스트 기반 HTML 요소 생성
pub fn element_(
tag: String,
children: List(ReactElement),
) -> ReactElement
속성 없이 자식만으로 요소 생성
pub fn flush_sync(callback: fn() -> Nil) -> Nil
ReactDOM.flushSync — 동기 DOM 업데이트 강제 (상태 변경 후 DOM 측정 시 필요)
pub fn forward_ref(
render: fn(props, Ref(a)) -> ReactElement,
) -> Component
React.forwardRef (부모 ref 전달)
pub fn keyed(
parent: fn(List(ReactElement)) -> ReactElement,
content: List(#(String, ReactElement)),
) -> ReactElement
임의 부모 요소에 keyed children 전달 parent 함수에 key가 적용된 자식 리스트를 전달한다
pub fn keyed_fragment(
key: String,
children: List(ReactElement),
) -> ReactElement
key가 있는 Fragment
pub fn memo_(
component: Component,
are_equal: fn(a, a) -> Bool,
) -> Component
React.memo 커스텀 비교 함수 적용
pub fn portal(
element: ReactElement,
container: dynamic.Dynamic,
) -> ReactElement
ReactDOM.createPortal (모달/팝업 — 위젯 DOM 외부에 렌더링)
pub fn profiler(
id: String,
on_render: fn(String, String, Float, Float, Float, Float) -> Nil,
children: List(ReactElement),
) -> ReactElement
React.Profiler (렌더링 성능 측정)
pub fn provider(
context: Context(a),
value: a,
children: List(ReactElement),
) -> ReactElement
Provider 요소 생성
pub fn start_transition(callback: fn() -> Nil) -> Nil
React.startTransition (훅 없이 독립 함수로 사용)
pub fn strict_mode(children: List(ReactElement)) -> ReactElement
React.StrictMode (개발 모드 이중 렌더링 감지)
pub fn suspense(
fallback: ReactElement,
children: List(ReactElement),
) -> ReactElement
React.Suspense (비동기 경계)
pub fn void_component_el(
comp: Component,
attrs: List(a),
) -> ReactElement
self-closing 컴포넌트 (children 없음)
pub fn void_element(tag: String, attrs: List(a)) -> ReactElement
self-closing 요소 (input, img, br 등)
pub fn when(
condition: Bool,
element_fn: fn() -> ReactElement,
) -> ReactElement
Bool 기반 조건부 렌더링
pub fn when_some(
option: option.Option(a),
render_fn: fn(a) -> ReactElement,
) -> ReactElement
Option 기반 조건부 렌더링