Reactjs 在react-typescript tsx文件中声明数组会导致“错误TS1109:预期表达式”
当我尝试在React中声明数组,但使用typescript tsx文件时,我收到错误消息: 错误TS1109:应为表达式 您的代码var nums:number[]=[1,2,3,3]不是表达式。这是一份声明 表达式应该是[1,2,3,3] 想起来容易 任何可以赋值给变量的东西都是表达式。你不会这样做: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
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>
)
}