Reactjs Browserify、react和条件运算符

Reactjs Browserify、react和条件运算符,reactjs,babelify,Reactjs,Babelify,我无法获取browserify来编译react文件,我试图在其中使用条件进行渲染 渲染功能: render() { const hasObjects = this.state.objects.length === 0 ? false : true; return {hasObjects ? (<p> Objects </p>) : (<p>No objects are available.</p>)}; } 我使用br

我无法获取
browserify
来编译react文件,我试图在其中使用条件进行渲染

渲染功能:

render() {
    const hasObjects = this.state.objects.length === 0 ? false : true;
    return {hasObjects ? (<p> Objects </p>) : (<p>No objects are available.</p>)};   
}   
我使用
browserify src/index.js-o static/js/bundle.js-t[babelify--presets[env react]]编译

我的巴勃勒是:

{
     "plugins": [
         "react-html-attrs",
     ]
}

react的文档表明,条件是条件呈现的有效选项,因此我假设这是一个
browserify
问题。我可以设置什么选项来编译此文件?

您不需要在
{…}
中包装表达式,只有在JSX中将表达式作为子级传递时才需要这样做。当您将大括号留在那里时,JavaScript认为您正在返回一个对象

只需拆下支架:

render() {
  const hasObjects = true;
  return hasObjects ? (<p> Objects </p>) : (<p>No objects are available</p>);
}
render(){
const hasObjects=true;
返回对象(对象

):(没有可用对象

); }
无需将表达式包装在{…}
您可以将代码更改为:

render(){
const hasObjects=true;
返回对象(对象

):(没有可用对象

); }

这就行了。

唉,这是正确的。在查看文档后,他们使用的条件已经在div中,因此我认为这是必要的。
render() {
  const hasObjects = true;
  return hasObjects ? (<p> Objects </p>) : (<p>No objects are available</p>);
}