react render嵌套函数问题

图片描述

图片描述

react渲染的时候,如图1没有问题,现在想根据数组的某一个state属性判断渲染内容的不同,如图二一样写就会出问题了,jsx貌似是不能写if语句的,那要怎么实现呢图片描述

阅读 9.3k
7 个回答

说了if就老老实实地写if不行吗,这么复杂还要用三元运算符,而且说成if

你的Menu的标签有右“>”吗? 我看好像没有

楼主的jsx写的太复杂,可以简化的。
但是你不贴代码懒得理你。
但是你不贴代码懒得理你。
但是你不贴代码懒得理你。
但是你不贴代码懒得理你。

你问题中的写法等同于这种写法:

// Input (JSX):
var Nav = React.createClass({ 
  render() {
    a? {
      return <div/>
      
    } : {
      return <div/>
    }
  }
});

你确信三元运算符后的花括号可以这样写的吗,我确信没有看到过?
在 babel 里边肯定是编译不过的 , 你可以直接在 repl 中试一下 https://babeljs.io/repl/

新手上路,请多包涵

SWITCH CASE 可以实现

你写的是 a ? {}:{},改写成 { a ? <div></div>:<div></div> }

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题