Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 嵌套if语句jsx_Javascript_Reactjs - Fatal编程技术网

Javascript 嵌套if语句jsx

Javascript 嵌套if语句jsx,javascript,reactjs,Javascript,Reactjs,尝试在jsx中执行嵌套的if语句或if else if语句。基本上,如果有1个输入,则其标签为主要输入,如果有2个输入,则第一个输入的标签为主要输入,第二个输入的标签为次要输入,如果有2个以上,则第一个输入的标签为主要输入,第二个输入的标签为次要输入,接下来的3个输入的标签为无标签输入 目前,我的代码将标签Primary放在第一个上,Secondary放在第二个上,但一旦我添加第三个标签,它就会擦除所有标签。任何想法都会很棒 render(){ const{lowerType,currentP

尝试在jsx中执行嵌套的if语句或if else if语句。基本上,如果有1个输入,则其标签为主要输入,如果有2个输入,则第一个输入的标签为主要输入,第二个输入的标签为次要输入,如果有2个以上,则第一个输入的标签为主要输入,第二个输入的标签为次要输入,接下来的3个输入的标签为无标签输入

目前,我的代码将标签Primary放在第一个上,Secondary放在第二个上,但一旦我添加第三个标签,它就会擦除所有标签。任何想法都会很棒

render(){
const{lowerType,currentPerson,contact,index,type}=this.props;
常量isPrimary=index==currentPerson.getIn(['primaries',lowerType]);
//const secondaryLabel=Secondary;
常量标签={isPrimary?'Primary':'Secondary'};
返回(

{currentPerson.get(`${lowerType}s`).size您正在使用以下条件,仅当currentPerson.get(
${lowerType}s
)时,该条件才会返回标签。size小于或等于
2

{ currentPerson.get(`${lowerType}s`).size <= 2 && label }

在哪一行没有发生所需的行为?
const label={isPrimary?'Primary':'Secondary'};返回({currentPerson.get(
${lowerType}s
).size这似乎更接近我想要做的,但它仍然从前2个输入中删除了主标签和次标签。我的目标是主-次…因此在第2个输入之后添加的任何输入都没有标签。然后您应该只放置
{label}
。如果不想删除
标签,为什么要使用该条件?{label}放在哪里?我认为这个条件是必要的,因为总有1个输入会有主输入的标签,当添加第二个输入时,它会有辅助输入的标签,当添加第三个、第四个、第五个输入时,它会与辅助输入处于同一标签之下,而不是它们自己的标签。如果您想要更多的控制,您可以使用一个返回JSX并在{}内调用它的函数。哦,真的吗?怎么做?对不起,这个JSX的更新版本是react/redux。
{ currentPerson.get(`${lowerType}s`).size <= 2 ? label : 'third label' }