两种方式来实现。 ## 1\. 一种是层层传值 在顶级组件 A 组件中用 `const [value, setValue] = useState("")`来存储textarea中的值,然后将value和 setValue传递到D组件中,同时将value给到C组件,这样C组件就能获取到textarea中的值了。  ## 2\. React中的context React中自带处理上下文的hook,可以把A组件中的 value 和 setValue 传递到任意的子组件。 1. 先用 `createContext()` 来创建生产者,这个来包裹住所有要用到更新数据的组件; 2. 用 `useContext()` 或 `Consumer` 来使用数据; const { useState } = require("react"); // store.js const TextareaContext = React.createContext(""); // 传入初始值,这里只存储textarea的值,因此可以默认是空字符窜 // A组件中 const AppA = () => { const [value, setValue] = useState(""); // 把 value 和 setValue 传递过去 return ( ); }; // B组件中不用任何处理,直接引用即可 // D组件 const AppD = () => { const { value, setValue } = useContext(TextareaContext); return ; }; // C组件 const AppC = () => { const { value } = useContext(TextareaContext); return alert(value)}>get; };