在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'
感谢您的帮助。
答案 0 :(得分:5)
假设您打算使用test
来定义类似“项目常量”(这是我通过使用const
关键字收集的信息)的内容,那么您可以简单地声明{{1 }}在test
类之外,然后以与导出类相同的方式从模块中将其导出:
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
}
}
,如下所示:
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);