return (
<li className="blog-page__item"
key={i}>
{(itemName === 'Small') ? <Smallitem data={item}/> : null}
{(itemName === 'Middle') ? <MiddleItem data={item}/> : null}
{(itemName === 'Big') ? <BigItem data={item}/> : null}
</li>
)
为什么这段代码能工作,但如果我使用,如果或切换语句,它就不会工作了?
发布于 2017-10-08 16:18:12
您可以阅读文档
if- JSX语句在JSX中不起作用。这是因为JSX只是函数调用和对象构造的语法糖。以这个基本例子为例: //此JSX: ReactDOM.render(HelloWorld!,mountNode);//被转换为此JS: ReactDOM.render(React.createElement("div",{id:"msg"},"HelloWorld!"),mountNode);这意味着如果语句不合适。拿走 这个例子: //此JSX:Hello!//转换为此JS: React.createElement("div",{id: if(条件){ 'msg’}},"Hello!“); 这是无效的JS。您可能希望使用三元表达式: ReactDOM.render(Hello!,mountNode);
https://stackoverflow.com/questions/46633208
复制相似问题