【问题标题】:const can only be used in a .ts file react nativeconst 只能在 .ts 文件中使用 react native
【发布时间】:2018-02-05 15:02:49
【问题描述】:
const ACCESS_TOKEN = 'access_token';

react-native-cli: 2.0.1
react-native: 0.47.2

我正在观看一个教程视频,其中专家从 api 获取值并将其存储在 const ACCESS_TOKEN 中,但是当我在我的代码中执行此操作时,它给了我一个错误

const 只能在 .ts 文件中使用 react native

请提出建议。

【问题讨论】:

  • 你想在哪个文件中存储这个值?
  • @DragomirKolev SignInScreen.js
  • 如果是 JS 文件,您需要使用 var 而不是 const 或将文件扩展名从 .js 更改为 .ts
  • 好的,但我可以在全球范围内携带这个变量.. 对不起,我在这方面有点学习。我想持有访问令牌,然后将其移动到不同的屏幕。
  • 好吧,我想我知道你需要做什么了。我会写一个答案。

标签: reactjs react-native


【解决方案1】:

在您的 SignInScreen.js 文件中执行:

export const ACCESS_TOKEN = "token";

在您想要使用的其他 js 文件中,您必须执行以下操作:

import * as globalConst from 'path/to/SignInScreen';

var token = globalConst.ACCESS_TOKEN;

希望这会有所帮助。

【讨论】:

  • 让我试试这个。
  • export const ACCESS_TOKEN = "token";不工作都显示相同的错误 .ts 文件
  • 它应该将您的文件从 javascript 转换为 typescript。它不会。如果它不起作用,您也可以将其更改回来。
  • 天哪!我是多么愚蠢。对不起,我犯了一个错误..我在课堂上使用 const ,这就是它不起作用的原因。现在它正在使用 .js 扩展名
  • 哈哈,没问题。有时您需要提出问题并与某人一起解决问题以自己解决:)。玩得开心!
【解决方案2】:

常量在一个类中。把它移到课外,一切都会好的。

【讨论】:

  • 这样做的后果是什么,即将你的 const 移到课堂之外?如果我这样做,我会得到编译错误
  • @YuvalLevy 因为在类方法中不允许使用带有类型声明的函数表达式。您可以简单地使用yourFunctionName = () => {//code} 而不是const yourFunctionName = () => {//code}
【解决方案3】:

const在类里面,把它移到类外,错误就会消失。

【讨论】:

    【解决方案4】:

    有同样的问题,对我来说,解决办法是我忘记关闭'}'。

    【讨论】:

      【解决方案5】:

      当您在 javascript 的类中使用 const、let、var 关键字时会发生此错误。 要将属性设置为类,请不要使用 const、let 或 var 关键字。

      但你需要使用 const、var 或 let 关键字在类的方法内定义变量 例子

      class List extends React.Component{
           // But using const outside method and inside a class will give error
           /* const accessToken = ACCESS_TOKEN  is wrong syntax */
         render() {
           const accessToken = ACCESS_TOKEN;   // will not give error
      
      }
      
      

      【讨论】:

        【解决方案6】:

        尝试在react.js 文件中的类组件的构造函数中使用this.state。将属性分配给this.statement,它不会给您任何错误。例如:

        class App extends React.Component {
        constructor(){
            super()
            this.state= {
                 anyProperty : itsValue;
            }
        
        }
        

        【讨论】:

          猜你喜欢
          • 2019-07-07
          • 1970-01-01
          • 1970-01-01
          • 2018-07-29
          • 2017-05-10
          • 2020-10-05
          • 1970-01-01
          • 2021-09-14
          • 2022-09-22
          相关资源
          最近更新 更多