Reactjs 三元运算符:应为赋值或函数调用,而应为表达式
我试图映射typescript接口对象的数组,并在表中打印其值。我的数组如下所示:Reactjs 三元运算符:应为赋值或函数调用,而应为表达式,reactjs,typescript,Reactjs,Typescript,我试图映射typescript接口对象的数组,并在表中打印其值。我的数组如下所示: export interface data { fields?: field[]; } export interface field { name: string; description: string; subfields: subfield[];
export interface data {
fields?: field[];
}
export interface field {
name: string;
description: string;
subfields: subfield[];
}
但我只想打印字段
,该字段的field.name
等于requiredName
使用三元运算符定义条件时,我得到以下错误:
需要赋值或函数调用,而看到的是表达式
如果能在定义条件语句以映射对象时得到一些帮助,我将不胜感激。我以前也使用过三元运算符,但只用于在表单元格中打印值,而不是动态创建值
以下是我目前的代码:
<Table>
<TableBody>
<TableRow >
<TableCell>
{props.fields.map((it) =>
{it.name===requiredName ? (
<Table>...</Table>
) : (
null
)}
)}
</TableCell>
</TableRow>
</TableBody>
</Table>
{props.fields.map((it)=>
{it.name==requiredName(
...
) : (
无效的
)}
)}
提前感谢。您缺少三元运算符前面的返回语句 应该是:
return it.name===requiredName ? (
<Table>...</Table>
) : (
null
)
返回它。name==requiredName?(
...
) : (
无效的
)
您缺少三元运算符前面的return语句
应该是:
return it.name===requiredName ? (
<Table>...</Table>
) : (
null
)
返回它。name==requiredName?(
...
) : (
无效的
)
在arrow函数中有花括号,因此三元运算符作为函数体中的语句执行,但不返回
这就是您当前拥有的:(我刚刚向函数体添加了隐式的returnundefined
)
arrow函数中有花括号,因此三元运算符作为函数体中的语句执行,但不返回 这就是您当前拥有的:(我刚刚向函数体添加了隐式的
returnundefined
)
您是否尝试过在三元前面返回?您没有返回任何内容,即错误
导出接口数据{fields?:field[];}
这里的三元语法不是错误吗@jarivak不是三元的您是否尝试过在三元前面返回?您没有返回任何内容,这就是错误导出接口数据{fields?:field[];}
这里的三元语法不是错误的吗@jarivak那不是三元的谢谢你,@Robert那解决了你的问题吗?非常感谢,@Robert那解决了你的问题吗?
<TableCell>
{props.fields.map((it) =>
it.name===requiredName ? (<Table>...</Table>) : (null)
)}
</TableCell>