Middle
Da li je moguće u funkcionalnoj komponenti omogućiti spoljašnji pristup metodama komponente (dati 'ručke' spolja)?
sobes.tech АИ
Одговор од АИ
U funkcionalnim React komponentama, možete omogućiti spoljašnji pristup metodama komponente pomoću forwardRef i useImperativeHandle.
Ovo omogućava 'prosleđivanje' referenci i definisanje koje metode ili svojstva će biti dostupni spolja.
Primer:
import React, { useImperativeHandle, forwardRef, useState } from 'react';
const MyComponent = forwardRef((props, ref) => {
const [count, setCount] = useState(0);
useImperativeHandle(ref, () => ({
increment() {
setCount(c => c + 1);
},
reset() {
setCount(0);
}
}));
return <div>Brojač: {count}</div>;
});
// Upotreba
// const ref = React.createRef();
// <MyComponent ref={ref} />
// ref.current.increment();
Na ovaj način, spoljašnji kod može pozvati metode increment i reset komponente.