"this"在导出的反应函数中未定义

Bad*_*ush 0 javascript reactjs

问题:当我的React组件调用导出的函数时,console.log(this)显示undefined.我期待它返回组件,因为我已经在我的构造函数中绑定它.

Leaderboard.js:

import React from 'react';
import {leaderboard, createLeaderboard} from '../utility/gamecode';

class Leaderboard extends React.Component{
  constructor(props){
    super(props);
    this.showLeaderboard = showLeaderboard.bind(this);
    this.state = {
    }
  };

  componentDidUpdate(){
    if(this.props.leaderboard){
      showLeaderboard();
    }
  }

  render(){
    return(
      <div className="leaderboard hidden">
      </div>
    )
  }

}

export default Leaderboard;
Run Code Online (Sandbox Code Playgroud)

gamecode.js:

export function showLeaderboard(){
 console.log(this);
}
//-----------------------
export function createLeaderboard(props){
}
Run Code Online (Sandbox Code Playgroud)

Jul*_*enD 6

你打电话showLeaderboard而不是this.showLeaderboard- 你绑定的那个this.