state()

반응형
state<T>(initialValue: T): StateAccessor<T>

읽고 쓸 수 있는 반응형 값을 만듭니다.

설명

반응형 값을 하나 만듭니다. 돌려받은 접근자를 호출하면 현재 값을 읽고, 그 호출이 일어난 자리는 이 값의 독자로 기록됩니다. .set()으로 값을 바꾸면 기록된 자리만 다시 계산됩니다.

매개변수

  • initialValue — 최초 값. 어떤 타입이든 가능하며, 지연 계산이 필요하면 함수를 넘기는 대신 derived를 쓰세요.

반환값

호출 가능한 접근자입니다. value()는 현재 값을 돌려주고, value.set(next)는 새 값을 씁니다. value.peek()은 독자로 기록되지 않고 값만 읽습니다.

예제

const query = state('');
query.set('키보드');
query();        // '키보드'
query.peek();   // 구독하지 않고 읽기

주의

같은 값을 다시 set 하면 아무 일도 일어나지 않습니다(Object.is 비교). 객체를 담고 속성만 바꾸는 방식은 이 비교를 통과하지 못해 갱신이 생략됩니다.