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

如何在打字稿类中调用反应组件内定义的函数?

如何在打字稿类中调用反应组件内定义的函数?

慕盖茨4494581 2023-11-02 22:34:40
 export class abc extends React.Component<IProps, IState> {    function(name: string) {    console.log("I wish to call this function"+ name);    }render() {    return (      <div>Hello</div>    );  }}现在我想将上面定义的组件的函数方法调用到另一个 xyz.ts 类(不是反应组件)中,是否可以做同样的事情?
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

如果您想在不同的 ts 文件中使用该函数,则绝对应该将该函数移出组件并将其导出。



查看完整回答
反对 回复 2023-11-02
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

您可以像这样使用侦听器模式:


export interface IListener {

    notify: (name:string) => void;

}



export class Listener {

    listener : IListener[] = [];



    addListener(listener: IListener) {

      this.listener.add(listener)

    }


    notifyListener() {

      this.listener.forEach((listener) => {

          listener.notify("abc");

      });

    }

  }


  export class abc extends React.Component<IProps, IState> implements IListener {


    componentDidMount() {

        // register this class as a listener

        new Listener().addListener(this);

    }


    public notify(name:string) {

        this.test(name);

    }


    test(name: string) {

      console.log("I wish to call this function"+ name);

    }

    render() {

      return (

      <div>Hello</div>);

    }

    

  }


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

添加回答

举报

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