☄️ Adjunte las tiendas efectoras para reaccionar componentes sin ganchos.
npm install @effector/reflect
# or
pnpm add @effector/reflectComenzando | Documentos de API
¿Cuál es el punto de reflexión?
Es el diseño de API que, utilizando el patrón clásico de tipo HOC, le permite escribir componentes React con efector de una manera eficiente y compuesta.
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 ,
} ,
} ) ; Aquí hemos separado este componente en piezas pequeñas, que se crearon de manera conveniente utilizando operadores reflect , que es una descripción muy simple de la asignación props -> values , que es más fácil de leer y modificar.
Con @effector/reflect , nuestra actualización $formValid solo hará que se vuelva a renderizar el Button SubtButton, y para todas las demás partes de nuestro <UserForm /> habrá literalmente un trabajo de reacción cero .
Para obtener más información, lea el artículo de motivación completa.