1

我有一个子组件正在生成和显示一个随机数。
我试图从父母那里控制它。
但参考电流为空。

如何从功能组件中的父级调用子函数
https://codesandbox.io/s/busy-joliot-85yom

function App() {
  const child = useRef();
  const generate = () => child.current.generate();

  return (
    <div className="App">
    <br />
      <Child ref={child}></Child><br />
      <button onClick={generate}>regenerate from parent (Not working)</button>
    </div>
  );
}

function Child(props){
  const [number, setNumber] = useState(0);
  const generate = () => setNumber(Math.round(Math.random() * 10));
  return <div>{number} <br /> <button onClick={generate}>regenerate from child</button></div>;
}

谢谢

4

1 回答 1

0

你不能在功能组件中使用 ref 属性,但是你可以自己处理任何 ref 对象,只是不要称它为“ref”,react 不喜欢它。检查我的例子

于 2019-10-11T07:50:07.520 回答