Middle
Оё дар компонентҳои функсионалӣ имкон дорад, ки дастрасии беруна ба усулҳои компонентро таъмин кунад (қолҳо ё 'рӯйҳо' дар берун диҳад)?
sobes.tech AI
Ҷавоб аз AI
Дар компонентҳои функсионалӣ дар React, шумо метавонед дастрасии беруна ба методҳои компонентро бо истифода аз forwardRef ва useImperativeHandle таъмин кунед.
Ин имкон медиҳад, ки референсро 'гузаронед' ва муайян кунед, ки кадом методҳо ё хусусиятҳо аз берун дастрас хоҳанд буд.
Масалан:
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>Ҳисобкунанда: {count}</div>;
});
// Истифода
// const ref = React.createRef();
// <MyComponent ref={ref} />
// ref.current.increment();
Инчунин, коди беруна метавонад методҳои increment ва reset-ро даъват кунад.