如何从React.js中的另一个类组件调用方法

发布于 2021-01-31 22:50:50

因此,我必须对组件进行分类:
Class1:具有单击按钮
Class2:具有调用我的api的方法

基本上,我要调用的方法是设置和编辑另一个类中一个类内的状态。但是我一直失败。

例:

Class1.js
export class Class1 extends Component {
   render() {
      return (
         <div onClick={must call Class2Method}></div>
      )
   }
}

Class2.js
export class Class2 extends Component {
   Class2Method(){
      Here I call my API, I set & call states, ...
   }
   render {
      return (
         <Class1 />
         Here I return my API content
      )    
   }   
}

我试过的

  1. 我试图使用我的方法并在App.js(class2和class1的父级)中调用并设置状态。但后来我的Class2.js控制台说找不到我的状态。
  2. 我也尝试过:在我的Class 2中使用在Class1中使用
关注者
0
被浏览
95
1 个回答
  • 面试哥
    面试哥 2021-01-31
    为面试而生,有面试问题,就找面试哥。

    干得好

    Class1.js

           export class Class1 extends Component {
                 render() {
                    return (
                        <div onClick={this.props.callApi}></div>
                    )
                }
           }
    

    Class2.js

    1. 在构造函数中绑定callApi函数或将其更改为arrow函数。
    2. 将callApi方法传递给class1组件作为prop,并在上述组件中以this.props.callApi访问它,并将其传递给div的onClick。
       export class Class2 extends Component {
         callApi = () => {
             Here I call my API, I set & call states, ...
          }
         render {
             return (
                <Class1 callApi={this.callApi} />
                     Here I return my API content
              )    
         }
      

      }



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看