反应原生中的花括号

Eya*_*alS 1 reactjs react-native

在反应原生渲染函数中,我尝试编写如下内容:

render(){
  return (
    <View>
      {let a=5}
    </View>
  )
}
Run Code Online (Sandbox Code Playgroud)

我以为我可以在那里写任何 JS 代码,但它似乎是一个错误。谁能解释为什么?

Fre*_*eez 5

问题与 ReactNative 无关,而是与 JSX 语法有关。

您只能在 JSX 中嵌入表达式let a=5不是表达式而是赋值,尝试(let a = 5)在你的浏览器控制台中执行,你会看到一个错误。您必须在 JSX 上方声明变量。

render(){
   let a = 5;
   return (
     <View>
      {/* use `a` here */}
     </View>
   )
}
Run Code Online (Sandbox Code Playgroud)