React native es6:导出后如何导入const?
我为自己缺乏知识而道歉。我想在文件中导入常量值。我在同一个目录中有两个文件Home.js和styles.js Home.js 在styles.js中 但我得到了这个错误 找不到变量:标题\u最大\u高度React native es6:导出后如何导入const?,react-native,ecmascript-6,React Native,Ecmascript 6,我为自己缺乏知识而道歉。我想在文件中导入常量值。我在同一个目录中有两个文件Home.js和styles.js Home.js 在styles.js中 但我得到了这个错误 找不到变量:标题\u最大\u高度 如何在styles.js中访问该变量?这只是函数作用域规则 // Outer scope const Home = (props) => { // Inner scope const HEADER_MAX_HEIGHT = 200; } console.log(HEAD
如何在styles.js中访问该变量?这只是函数作用域规则
// Outer scope
const Home = (props) => {
// Inner scope
const HEADER_MAX_HEIGHT = 200;
}
console.log(HEADER_MAX_HEIGHT); // Uncaught ReferenceError: HEADER_MAX_HEIGHT is not defined
您无权访问外部范围中的标题最大高度。因此,当您尝试导出它时,它只会返回一个错误
试试这个:
import React from 'react';
import styles from './styles';
const HEADER_MAX_HEIGHT = 200;
const Home = (props) => {
// ...
}
export { HEADER_MAX_HEIGHT };
export default Home;
现在在styles.js中:
import { HEADER_MAX_HEIGHT } from './Home';
尝试:
Home.js
您的
标题\u MAX\u HEIGHT
需要在Home.js
文件中,但在Home
组件之外。您可以在这里阅读:您可能应该以完全不同的方式构造代码
一个好的规则是将所有常量保存在一个单独的文件中,远离所有视图
尝试为所有应用程序常量创建一个文件<代码>常量.js是一个不错的选择
然后像这样放入常量:
const Constants = {
HEADER_MAX_HEIGHT: 200,
OTHER_THINGS: 'whatever'
}
export default Constants
然后,您可以在任何需要的地方导入常量
import Constants from '../Folder/Constants'
像这样使用
const x = Constants.HEADER_MAX_HEIGHT
它不起作用。说页眉最大高度未定义,在styles.js内请给我看看styles.js好吗?是否从主页导入收割台最大高度?也可以从主页导入。收割台最大高度=200;在const Home[…]之后并在styles.js中:从“/Home”导入Home;控制台日志(主、收割台最大高度);是否有任何循环模块引用?是否确定.Home.js和styles.js都与布线相同?也许Home.js Styles.js?都是大写的?我希望是这样。但事实并非如此。也许这不起作用,因为它们是同时从彼此进口的。这可能是问题所在吗?你有Teamviewer吗?我有办公桌。以下是包含原始两个文件的要点console.log(HEADER\u MAX\u HEIGHT)打印什么?对于属性,它应该是:not=知道如何使用异步函数并导出它吗?
import { StyleSheet } from 'react-native';
import { HEADER_MAX_HEIGHT } from './Home';
export default StyleSheet.create({
header: {
height: HEADER_MAX_HEIGHT,
},
});
const Constants = {
HEADER_MAX_HEIGHT: 200,
OTHER_THINGS: 'whatever'
}
export default Constants
import Constants from '../Folder/Constants'
const x = Constants.HEADER_MAX_HEIGHT