在 React 中,并不总是需要直接调用子方法。但是,在某些情况下可能有必要,例如当子组件公开命令式方法时。本文演示了如何使用 refs 来实现这一点,无论是基于类的组件还是功能组件。
要使用 refs 从基于父类的组件调用子方法,请按照以下步骤操作:
const childRef = React.createRef();
<Child ref={childRef} />
childRef.current.getAlert();
随着 React Hooks 的引入,您现在也可以在功能组件中使用 refs。以下是如何使用引用从父功能组件调用子方法:
const childRef = useRef();
const Child = forwardRef((props, ref) => { // ... });
useImperativeHandle(ref, () => ({ getAlert() { alert('clicked'); } }));
childRef.current.getAlert();
注意: 需要注意的是,在 React 中通常不鼓励使用 ref 来调用子方法。更好的做法是通过 props 和 state 向下传递数据并向上传递事件。
以上是React 中如何从父组件调用子方法?的详细内容。更多信息请关注PHP中文网其他相关文章!