[英]i want to use ternary operator in react-native how can i fix my code?
嗨,我想使用三元运算符
如果烹饪有价值,我想呈现
<FlatList
data={cookUp}
keyExtractor={(item) => String(item.id)}
// keyExtractor={(item, index) => {
// return `${index}`;
// }}
renderItem={({item}) => (
<Hey>
{item.name}
</Hey>
)}
/>
但是如果cookup有这样的[]
我想渲染
<Hey>hiaaaaaa</Hey>
这是我的代码
return (
cookUp ? (
<FlatList
data={cookUp}
keyExtractor={(item) => String(item.id)}
// keyExtractor={(item, index) => {
// return `${index}`;
// }}
renderItem={({item}) => (
<Hey>
{item.name}
</Hey>
)}
/>
) :
(<Hey>hiaaaaaa</Hey>)
);
我怎样才能做到这一点?? 我该如何修复我的代码?
您可以在 flatlist 中使用 ListEmptyComponent 道具
<FlatList
data={cookUp}
keyExtractor={(item) => String(item.id)}
// keyExtractor={(item, index) => {
// return `${index}`;
// }}
renderItem={({item}) => (
<Hey>
{item.name}
</Hey>
)}
ListEmptyComponent={<Hey>hiaaaaaa</Hey>}
/>
这将在数据为空时呈现“hiaaaaaa”。 无需通过三元运算符 go。
尝试这样的事情:
return (
{ cookUp.length > 0 ? (
<FlatList
data={cookUp}
keyExtractor={(item) => String(item.id)}
// keyExtractor={(item, index) => {
// return `${index}`;
// }}
renderItem={({item}) => (
<Hey>
{item.name}
</Hey>
)}
/>
) :
(<Hey>hiaaaaaa</Hey>)
}
)
在 JSX 中编写 JS 时不要忘记使用 {}。 其他只是 JavaScript,您可能应该在框架之前深入研究一下。
应该很简单:
return (
<Fragment>
{cookUp.length ? (
<FlatList
data={cookUp}
keyExtractor={(item) => String(item.id)}
// keyExtractor={(item, index) => {
// return `${index}`;
// }}
renderItem={({item}) => (
<Hey>
{item.name}
</Hey>
)}
/>
) :
(<Hey>hiaaaaaa</Hey>)
}
</Fragment>
);
试试这个方法,
cookUp
是一个空数组,因此您必须检查长度以验证数据是否为空。
return (
<>
{cookUp?.length ? (
<FlatList
data={cookUp}
keyExtractor={(item) => String(item.id)}
// keyExtractor={(item, index) => {
// return `${index}`;
// }}
renderItem={({item}) => (
<Hey>
{item.name}
</Hey>
)}
/>
) :
(<Hey>hiaaaaaa</Hey>) }
</>
);
空Array
为真。
检查cookUp
为true
后,您可以在cookUp
上使用isArray
方法:
return ( cookUp? Array.isArray(cookUp)? ( <FlatList data={cookUp} keyExtractor={(item) => String(item.id)} // keyExtractor={(item, index) => { // return `${index}`; // }} renderItem={({item}) => ( <Hey> {item.name} </Hey> )} /> ): ( < Hey > hiaaaaaa < /Hey>)); : null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.