为了账号安全,请及时绑定邮箱和手机立即绑定

React-Native:从父组件调用组件内的函数

React-Native:从父组件调用组件内的函数

红颜莎娜 2022-11-11 16:19:33
Child.js:export default class Child extends Component {  testFunc = () => {   console.log("test")  }  componentDidMount() {    this.props.onRef(this) }父.js:export default class Parent extends Component { render() {    return (   <>     <Child onRef = {ref => (this.child=ref)}> </Child>     <Button onPress={this.child.testFunc()}></Button>   </>   ) }}我想知道如何从 React Native 的父组件调用子组件中的函数?我尝试了上面的代码,我收到错误“TypeError undefined is not an object (evaluate '_this.child.testFunc')。当我在这里尝试建议的解决方案时遇到同样的错误:Call child function from parent component in React Native。有人可以帮我吗?
查看完整描述

2 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

在我看来,这是一个糟糕的设计。如果您希望testFunc()在父组件中可用,那么您应该在父组件中定义该函数。

为了在子组件中使用此功能,您可以将此功能传递给道具中的子组件。

从 ParentComponent.js 你可以像这样传递这个函数

<ChildComponent func = {testFunc} />

在 ChildComponent.js 中,您可以像这样回调此函数 this.props.func()


查看完整回答
反对 回复 2022-11-11
?
当年话下

TA贡献1890条经验 获得超9个赞

请试试这个。由于 javascript 语法,在调用 testFunc 时删除括号。


export default class Parent extends Component {


  render() { 

   return (

   <>

     <Child onRef = {ref => (this.child=ref)}> </Child>

     <Button onPress={this.child.testFunc}></Button>

   </>

   )

  }

 }


查看完整回答
反对 回复 2022-11-11
  • 2 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信