reactjs - 如何在 React 功能组件中将数据从孙子传递到父组件?
问题描述
我在 GrandChild.tsx 中有一个函数
孙子.tsx
function grandChild(){
function a(){ someVariables }
}
父.tsx
function Parent(){
console.log(someVariables)
}
如何将数据从 GrandChild 传递到父组件?
我试过这个方法:
父.tsx
function Parent(){
const (msg, setMsg) = useState('') function getData(){ <Child someVar = {msg}/> }
孩子.tsx
interface ChildProps {
someVar: any;
}
function Child(props: ChildProps){
const (mediator, setMediator) = useState('')
function mediateData(){ <Child someVariables = {msg}/> } }
孙子.tsx
interface GrandChildProps {
someVariables: any;
}
function GrandChild(props: GrandChildProps){
const (data, sendData) = useState('')
function a(){ <GrandChild someVariables = {data}/> }
解决方案
我从我的评论中修复了代码框:https ://codesandbox.io/s/determined-pine-1z9ms
这里的想法是传递“setMsg”函数并从孙子调用它
推荐阅读
- css - 使用css网格将项目成对放置在两行中
- mysql - 为什么 DB Browser 有我无法复制的订单?
- javascript - Docker 没有这样的文件或目录,打开“/home/todo1/server/package.json”(2021 年 1 月 2 日星期六 09:47:44 UTC 更新)
- postgresql - PosgreSQL odbc ssl 连接,libpq 连接参数错误:无效的连接选项“{sslrootcert”
- python - 将数字转换为等效的罗马数字
- javascript - 上传文件到谷歌云存储使用链接
- python - 为什么我在尝试运行 Pygame 时不断收到“Python 意外退出”和错误消息?
- liferay - 在eclipse中完全删除Liferay Workspace?
- jquery - 为什么我不能使用在 jquery 对象中创建的 javascript 函数以及如何在 jquery 中声明自定义函数?
- r - 如何从R中具有不同行数的列表转换数据框?