在 React Native 中从父组件调用子函数

2024-05-19

我正在开发我的第一个 React Native 应用程序。我想要实现的是从父组件执行子函数,情况如下:

Child

export default class Child extends Component {
  ...
  myfunct: function() {
    console.log('Managed!');
  }
  ...
  render(){
    return(
      <Listview
      ...
      />
    );
  }
}

Parent

export default class Parent extends Component {
  ...
  execChildFunct: function() {
    ...
    //launch child function "myfunct"
    ...
    //do other stuff
  }

  render(){
    return(
      <View>
        <Button onPress={this.execChildFunct} />
        <Child {...this.props} />
      </View>);
  }
}

在这个例子中,我想记录'Managed!'当我按下父类中的按钮时。怎样才算可行呢?


Nader Dabit 的答案已经过时,因为在 ref 属性中使用字符串文字已被弃用 https://facebook.github.io/react/docs/refs-and-the-dom.html#legacy-api-string-refs。截至 2017 年 9 月,我们将这样做:

<Child ref={child => {this.child = child}} {...this.props} />
<Button onPress={this.child.myfunc} />

相同的功能,但我们不使用字符串来引用组件,而是将其存储在全局变量中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 React Native 中从父组件调用子函数 的相关文章

随机推荐

  • jQuery 变量在定义时声称它是未定义的

    我试图在同一页面上有两个自动填充文本框 一个用于手机型号 input1 一个用于固件 input2 当两者都填充时 我希望显示一个带有ID input1input2 的div 但是当在input1 中输入值时 它声称phone 的变量未定义
  • 更新另一个 Action 的工作流程文件的 GitHub Action

    我在同一个存储库中有两个 GitHub Actions 我正在尝试更新其中一个 但在尝试提交并推送更改时出现以下错误 remote rejected HEAD gt some branch refusing to allow a GitHu
  • 使用 Django 重定向和 HttpResponseRedirect 有什么区别?

    一般用哪个比较好 https docs djangoproject com en dev topics http shortcuts redirect https docs djangoproject com en dev topics h
  • 大多数列表共有的项目

    给定一个列表列表 假设有 5 个列表 以便有一个可以使用的实数 我可以相对轻松地找到所有 5 个列表所共有的项目 请参阅使用 IEnumerable Intersect 求多个列表的交集 https stackoverflow com qu
  • 如何检查设备是否“快”足够

    我找不到更好的措辞来回答我的问题 在我的应用程序中的某个时刻 我设置了一些非常密集的动画 事实是 在高端设备上 动画运行流畅且赏心悦目 另一方面 我测试的一款低端设备在制作动画时的性能非常糟糕 为了将用户体验放在第一位 我想在计算能力足够的
  • 自定义 HTTP 标头:命名约定

    我们的一些用户要求我们将与其帐户相关的数据包含在HTTP 标头我们向他们发送的请求 甚至是他们从我们的 API 获得的响应 添加自定义 HTTP 标头的一般约定是什么 naming format etc 另外 请随意发布您在网络上偶然发现的
  • d3.js 堆叠条形图 - 修改堆叠顺序逻辑

    我想创建一个堆积条形图 其中矩形的顺序由数据值确定 即最大到最小 最高到最短 最富有到最贫穷等 据我所知 在堆叠数据后 initial秩序似乎得到保留 这可以在我的代码片段中看到 硬编码数据让我们可以看到之前和之后发生的情况d3 stack
  • HTML 下拉菜单禁用 Javascript 中的选项

    Question 下面的代码是隐藏所选项目下拉列表中的选项 因此 当用户选择该选项时 它将隐藏所有下拉选择列表中的所选值 我现在有四个下拉选择 我想实现像当下拉选择被触发时它将启用当前选择的选项值 意味着用户能够在用户触发时选择回下拉选择中
  • 无法执行 Android 活动的方法

    我有以下按钮
  • Android 上的 SQLite 和 MongoDB 具有同步功能

    是否可以在 Android 上使用 SQLite 在服务器上使用像 MongoDB 这样的 NoSQL 数据库 并在两者之间进行 2 路数据复制 同步 或者最好在两端使用 SQL 或者在两端使用 NoSQL 但不要混合使用 有几种不同的方法
  • 将 HTML 'label' 标签与单选按钮一起使用

    是否label标签与单选按钮一起使用吗 如果是这样 你如何使用它 我有一个显示如下的表单 First Name text field Hair Color color drop down Description text area Salu
  • 高效地重新安排 ActiveJob (resque/sidekiq)

    我正在玩Rails 4 2应用程序使用ActiveJob受支持resque sidekiq用于电子邮件安排 当用户创建时事通讯活动时 会创建一个新作业并安排在特定日期 这一切都很好 但是当用户更改交货日期时会发生什么 在这种情况下 每个作业
  • C# ASP.NET MVC:视图中的单行 If 子句?

    我遇到了一个小问题 并且无法解决它 我的看法是这样的 Try or
  • 序列化和反序列化 HttpRequestMessage 对象

    有人有序列化 HttpRequestMessage 对象的经验吗 尝试使用 Json net 它部分有效 也就是说 JsonConvert DeserializeObject 由于 StringContent 构造问题而失败 无法找到用于类
  • Java 模 2**64 求逆

    给定一个奇数long x 我在找long y这样他们的乘积模2 64 即 使用正常的溢出算术 等于 1 为了明确我的意思 这可以在几千年内计算出来 for long y 1 y 2 if x y 1 return y 我知道可以使用扩展欧几
  • 收到警告“标头不能包含多个标头,检测到新行”

    我正在用 oops 进行编码 以便用 PHP 上传图像 但是提交图片后却出现警告 标题不能包含多个标题 检测到新行 下面是我的函数 它给出了错误 public function ft redirect query if REQUEST UR
  • Visual C++ 找不到“Windows 类型”,如 PVOID、DWORD、ULONG 等

    Windows 似乎无法找到任何这些类型 我完全不知道该怎么办 我在 MSDN 上找到的东西似乎表明它们是默认包含的 但它们在 Native 程序或 CLR 程序中不起作用 我收到的具体错误是
  • 选择框属性更改时未触发 Webkit Mutation Observer 回调

    我正在尝试监视选择框 或嵌套的option元素 与新的变异观察者 http updates html5rocks com 2012 02 Detect DOM changes with Mutation Observers功能 然而 只有
  • 在转到另一个活动之前需要 editText 字段

    我有验证editText 如果editText字段为空 它应该会失败验证并阻止用户转到另一个字段Activity 因为需要一个值 怎么做 我知道这是一个基本问题 但我不知道如何做到这一点 My code btninsert Button f
  • 在 React Native 中从父组件调用子函数

    我正在开发我的第一个 React Native 应用程序 我想要实现的是从父组件执行子函数 情况如下 Child export default class Child extends Component myfunct function c