reflect
v9.2.0
hooks없이 구성 요소를 반응하기 위해 이펙터 저장소를 부착합니다.
npm install @effector/reflect
# or
pnpm add @effector/reflect시작하기 | API 문서
반사의 요점은 무엇입니까?
클래식 한 HOC와 같은 패턴을 사용하여 효율적이고 합성 가능한 방식으로 이펙터를 사용하여 React 구성 요소를 작성할 수있는 API 디자인입니다.
import { reflect , variant } from '@effector/reflect' ;
export function UserForm ( ) {
return (
< FormCard >
< Name />
< LastName />
< SubmitButton />
</ FormCard >
) ;
}
const Name = reflect ( {
view : Input ,
bind : {
value : model . $name ,
onChange : model . nameChanged ,
} ,
} ) ;
const LastName = reflect ( {
view : Input ,
bind : {
value : model . $lastName ,
onChange : model . lastNameChanged ,
} ,
} ) ;
const SubmitButton = reflect ( {
view : Button ,
bind : {
type : 'submit' , // plain values are allowed too!
disabled : model . $formValid . map ( ( valid ) => ! valid ) ,
onClick : model . formSubmitted ,
} ,
} ) ; 여기서 우리는이 구성 요소를 작은 부품으로 분리했는데, 이는 reflect 연산자를 사용하여 편리한 방식으로 만들어졌으며, 이는 props -> values 매핑에 대한 매우 간단한 설명이며, 이는 읽고 수정하기 쉽습니다.
@effector/reflect 사용하면 $formValid 업데이트로 제출 업데이트가 다시 렌더링되며 <UserForm /> 의 다른 모든 부분에는 문자 그대로 0 반응 작업이 있습니다.
자세한 내용은 전체 동기 부여 기사를 읽으십시오.