Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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
Reactjs 在react-typescript tsx文件中声明数组会导致“错误TS1109:预期表达式”_Reactjs_Typescript_Tsx - Fatal编程技术网

Reactjs 在react-typescript tsx文件中声明数组会导致“错误TS1109:预期表达式”

Reactjs 在react-typescript tsx文件中声明数组会导致“错误TS1109:预期表达式”,reactjs,typescript,tsx,Reactjs,Typescript,Tsx,当我尝试在React中声明数组,但使用typescript tsx文件时,我收到错误消息: 错误TS1109:应为表达式 您的代码var nums:number[]=[1,2,3,3]不是表达式。这是一份声明 表达式应该是[1,2,3,3] 想起来容易 任何可以赋值给变量的东西都是表达式。你不会这样做: const foo = var nums:number[] = [1,2,3,3]; // ERROR `var nums:number[] = [1,2,3,3]` is not an exp

当我尝试在React中声明数组,但使用typescript tsx文件时,我收到错误消息:

错误TS1109:应为表达式

您的代码var nums:number[]=[1,2,3,3]不是表达式。这是一份声明

表达式应该是[1,2,3,3]

想起来容易 任何可以赋值给变量的东西都是表达式。你不会这样做:

const foo = var nums:number[] = [1,2,3,3]; // ERROR `var nums:number[] = [1,2,3,3]` is not an expression
声明的解决方案 用JSX来做,例如

public render() {
    var nums:number[] = [1,2,3,3]
    return (
      <div>
        {  nums[0]  }
      </div>
    )
  }

那么,我们就不能在这里的render/return中定义一个数组了吗declaring@Greg,技术上可以,但一般不推荐。你到底想实现什么?好吧-我想我很困惑-我以为我可以在jsx中实现,但现在它在tsx中不起作用-所以基本上需要在渲染方法的返回部分之外声明我假设的reactcomponent@Greg对所有数据结构都应该在提交JSX之前进行初始化和设置,以便在呈现JSX时插入它们。如果您迫切需要,有一个非常丑陋且破坏性能的变通方法
public render() {
    var nums:number[] = [1,2,3,3]
    return (
      <div>
        {  nums[0]  }
      </div>
    )
  }