从类React导出变量

时间:2019-02-05 04:36:12

标签: javascript reactjs

在app类的app.js中,有一个我想导出到另一个模块的变量。我尝试了很多选择,但不幸的是,对如何正确执行操作的理解并没有到来。请告诉我,如何正确做?我的课程中已经使用了导出默认值

export class App extends Component {
    static propTypes = {
        //somecode
    };

    constructor(...args: any): void {
        super(...args);
    }

    render() {
        // console.log('app render start');
        const test = true;
        return (
        //somecode
        );
    }

    componentDidMount() {
        //somecode
    }


    componentDidUpdate(prevProps): void {
        //somecode
    }
}

在上面的示例中,我需要导出变量'test'

感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

假设您打算使用test来定义类似“项目常量”(这是我通过使用const关键字收集的信息)的内容,那么您可以简单地声明{{1 }}在test类之外,然后以与导出类相同的方式从模块中将其导出:

App.js
App

然后,可以从项目中的另一个模块访问/* Export test variable */ export const test = true; /* Export your App class */ export class App extends Component { static propTypes = { //somecode }; constructor(...args: any): void { super(...args); } render() { /* Access test variable in "global scope" inside render method */ console.log(`test is: ${ test }`); // console.log('app render start'); // const test = true; return ( //somecode ); } componentDidMount() { //somecode } componentDidUpdate(prevProps): void { //somecode } } ,如下所示:

MyModule.js
test

答案 1 :(得分:0)

您可以将test设为App类的静态属性,然后仅从App类中引用它,因为该属性已导出。

class Test extends React.Component {
  static test = true;
}

console.info(Test.test);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

import Test from 'test';
console.info(Test.test);
相关问题