【问题标题】:React Native get parent of componentsReact Native 获取组件的父级
【发布时间】:2019-04-17 12:30:02
【问题描述】:

我是 React Native 的新手,我在组件中有一个组件。

我需要从子组件访问父组件的功能。我如何访问父级,例如来自孩子的this.parentNode.myFunc();之类的东西? (当然,没有将它作为道具传递到整个视图层次结构中)

【问题讨论】:

  • 请分享您使用过子组件的代码。
  • 通过 props 将函数传递给组件。 stackoverflow.com/questions/49547751/…
  • @NaeimFard 这正是我想要避免的,正如我在问题中所说的那样。
  • 您是否有大量要从子级调用的函数列表?这就是为什么你要避免这种方法

标签: react-native


【解决方案1】:

作为道具发送给子组件。像这样:

<ChildComponent myProp={this.myFunc} />

然后,你可以调用函数this.props.myProp()

【讨论】:

  • 我可以传递道具,但我可能有一个复杂的视图层次结构。我不想在树下传递道具(我已经更新了我的问题)
  • @CanPoyrazoğlu 使用 Contex API
【解决方案2】:

您可以将回调作为道具传递,或者如果您不想深入研究,也可以创建一个提供者-消费者 (Context API)。

【讨论】:

    【解决方案3】:

    请在父组件中绑定函数并传递给子组件。

    这是我在 Parent.js 组件中的函数

    testFunction() {
        console.log('Test')
      }
    

    在构造函数中绑定:

    constructor(props) {
        super(props)
        this.testFunction = this.testFunction.bind(this)
      }
    

    将此传递给子组件:

    <Child testFunction = {this.testFunction}>
    

    在 Child.js 组件中使用带有 props 的子组件:

    this.props.testFunction()
    

    【讨论】:

      猜你喜欢
      • 2019-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-11
      • 2020-11-04
      • 2017-01-04
      • 1970-01-01
      相关资源
      最近更新 更多