在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‘
如果有任何帮助,我将不胜感激。
发布于 2019-02-05 12:41:02
假设您使用test
的目的是定义一个类似于“项目常量”的东西(这是我从您使用const
关键字得到的),那么您可以简单地在App
类外部声明test
,然后以与导出该类相同的方式从模块中导出它:
App.js
/*
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
import { App, test, } from 'path/to/App';
console.log(`test is: ${ test }`);
发布于 2019-02-05 13:36:23
您可以在App类上将test设置为静态属性,然后从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);
https://stackoverflow.com/questions/54527717
复制相似问题