迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 >

React 中将数据从子组件传递到父组件

作者:迹忆客 最近更新:2023/01/28 浏览次数:

在 React 中将数据从子组件传递到父组件:

  1. 将函数作为 prop 传递给 Child 组件。
  2. 调用 Child 组件中的函数并将数据作为参数传递。
  3. 访问 Parent 函数中的数据。
import {useState} from 'react';

function Child({handleClick}) {
  return (
    <div>
      <button onClick={event => handleClick(100)}>Click</button>
    </div>
  );
}

export default function Parent() {
  const [count, setCount] = useState(0);

  const handleClick = num => {
    // 👇️ take parameter passed from Child component
    setCount(current => current + num);
  };

  return (
    <div>
      <Child handleClick={handleClick} />

      <h2>Count: {count}</h2>
    </div>
  );
}

React 中将数据从子组件传递到父组件

Parent 组件定义了一个带有 num 参数的 handleClick 函数。

我们将该函数作为 prop 传递给 Child 组件,因此 Child 能够调用该函数并将我们需要在 Parent 中访问的任何数据传递给它。

单击 Child 的按钮元素时,将调用 handleClick 函数,并且可以在 Parent 组件中访问我们传递给该函数的参数。

我们可能还需要在函数的参数中包含事件对象。

import {useState} from 'react';

function Child({handleClick}) {
  return (
    <div>
      <button onClick={event => handleClick(event, 100)}>
        Click
      </button>
    </div>
  );
}

export default function Parent() {
  const [count, setCount] = useState(0);

  const handleClick = (event, num) => {
    console.log(event.target);

    setCount(current => current + num);
  };

  return (
    <div>
      <Child handleClick={handleClick} />

      <h2>Count: {count}</h2>
    </div>
  );
}

现在 handleClick 函数将事件对象和一个数字作为参数,子组件将事件转发给父组件。

我们可以使用此方法将任何内容从子组件传递到父组件。

我们所要做的就是将一个函数 prop 传递给 Child 并在 Child 组件中调用该函数,将我们需要在 Parent 中访问的数据作为参数传递给它。

相关文章

在 React 中添加事件监听器

发布时间:2023/03/08 浏览次数:179 分类:WEB前端

事件侦听器对于单页应用程序至关重要。在本文中,我们将探讨如何在 React 中添加它们。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便