我正在尝试做: 如本教程所述,更改子状态:Change child state from parent
教程使用类组件,我尝试使用功能组件。它会出现类似“功能组件没有实例,因此它们不能具有引用”的错误。 因此,我根据stackoverflow答案here
使用了forwardRef(第一次)代码:
import React,{useRef,forwardRef, useEffect} from "react";
const Component = (props) => {
function sayHello(){
console.log("hello")
}
return <h1>{props.children}</h1>
}
const ForwardComponent = forwardRef((props,ref)=> (<Component ref={ref}> {props.children} </Component>))
export default function App() {
const hello = useRef()
useEffect(()=>{
hello.current.sayHello()
})
return (
<div>
<ForwardComponent ref={hello}>Hello</ForwardComponent>
</div>
);
}
注意:我可以在这里使用上下文api或redux,但我认为在我的用例中应该更简单。我也学到新东西