【发布时间】:2021-02-07 09:54:32
【问题描述】:
我有一个这样的对象数组:
[
{"name":"XYZ","price":100,"instock":true},
{"name":"OTR","price":945,"instock":true},
{"name":"SLG","price":343,"instock":true}
]
Flatlist renderItem 像这样单独显示每个字符
Output screenshot
我的代码是这样的
<View>
{cartItems !== [] && (
<FlatList
data={cartItems}
renderItem={({item}) => (
<View>
<Text>{item}</Text>
</View>
)}
keyExtractor={(item, index) => index.toString()}
/>
)}
</View>
我也试过这个renderItem={({item: {name, price}}) => ()} 并尝试打印,它没有显示任何内容,当我将它记录到控制台时,它们都未定义
<View>
{cartItems !== [] && (
<FlatList
data={[cartItems]}
renderItem={({item}) => (
<View>
<Text>{item}</Text>
</View>
)}
keyExtractor={(item, index) => index.toString()}
/>
)}
</View>
我也解构了
但它是这样渲染的
[{"name":"XYZ","price":100,"instock":true},
{"name":"OTR","price":945,"instock":true},
{"name":"SLG","price":343,"instock":true}]
这是完整的代码
const ManageOrders = () => {
const [cartItems, setCartItems] = useState([]);
const getItem = async () => {
try {
const item = await AsyncStorage.getItem('CartItem');
// const items = JSON.parse(item); //This gave me error
setCartItems(item);
} catch (error) {
console.log(error);
}
};
useEffect(() => {
getItem();
}, []);
// const data = JSON.parse(cartItems) //This gave me error
return (
<>
<SafeAreaView style={styles.safeAreaView1} />
<SafeAreaView style={styles.safeAreaView2}>
<View>
{cartItems !== [] && (
<FlatList
data={cartItems}
renderItem={({item}) => (
<View>
<Text>{item}</Text>
</View>
)}
keyExtractor={(item, index) => index.toString()}
/>
)}
</View>
</SafeAreaView>
</>
);
};
export default ManageOrders;
注意:数据 cartItems 我是从 asyncstorage AsyncStorage.getItem("CartItems") 得到的
谁能帮我解决这个问题??
【问题讨论】:
标签: react-native react-native-flatlist asyncstorage