Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native es6:导出后如何导入const?_React Native_Ecmascript 6 - Fatal编程技术网

React native es6:导出后如何导入const?

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

我为自己缺乏知识而道歉。我想在文件中导入常量值。我在同一个目录中有两个文件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(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