首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从React类中导出变量

从React类中导出变量
EN

Stack Overflow用户
提问于 2019-02-05 12:36:12
回答 2查看 24.6K关注 0票数 8

在app类的app.js中,有一个我想要导出到另一个模块的变量。我尝试了许多选择,但不幸的是,我没有理解如何正确地完成它。请告诉我,怎样做才对?导出默认值已在我的类中使用

代码语言:javascript
运行
复制
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‘

如果有任何帮助,我将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-05 12:41:02

假设您使用test的目的是定义一个类似于“项目常量”的东西(这是我从您使用const关键字得到的),那么您可以简单地在App类外部声明test,然后以与导出该类相同的方式从模块中导出它:

App.js

代码语言:javascript
运行
复制
/*
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
    }
}

然后,您可以从项目中的另一个模块访问test,如下所示:

MyModule.js

代码语言:javascript
运行
复制
import { App, test, } from 'path/to/App';

console.log(`test is: ${ test }`);
票数 13
EN

Stack Overflow用户

发布于 2019-02-05 13:36:23

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

代码语言:javascript
运行
复制
class Test extends React.Component {
  static test = true;
}

console.info(Test.test);
代码语言:javascript
运行
复制
<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>

代码语言:javascript
运行
复制
import Test from 'test';
console.info(Test.test);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54527717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档