我刚刚react-native项目,我使用react-currency-format在我的代码中以正确的货币格式总价。代码在web上运行正常,但在android和ios上有错误**“文本字符串必须在组件内呈现”**。那我怎么才能修好它呢?
这是我的代码
import { View, Text, TouchableOpacity } from 'react-native'
import React from 'react'
import { useSelector } from 'react-redux'
import { selectBasketItems, selectBasketTotal } from '../features/basketSlice'
import { useNavigation } from '@react-navigation/native'
import NumberFormat from 'react-currency-format';
const BasketIcon = () => {
const items = useSelector(selectBasketItems);
const navigation = useNavigation();
const basketTotal = useSelector(selectBasketTotal);
const total = parseFloat(basketTotal);
return (
<View className="absolute bottom-10 w-full z-50">
<TouchableOpacity className="bg-[#00CCBB] mx-5 p-4 round-lg flex-row items-center space-x-1">
<Text className=" text-white font-extrabold text-lg bg-[#01A296] py-1 px-2 ">{items.length}</Text>
<Text className="flex-1 text-white font-extrabold text-lg text-center">View Basket</Text>
<Text className="text-lg text-white font-extrabold">
{basketTotal && (
<NumberFormat
value={basketTotal}
displayType={'text'}
thousandSeparator={true}
prefix={'₫'}
/>
)}
</Text>
</TouchableOpacity>
</View>
)
}
export default BasketIcon
2条答案
按热度按时间bq3bfh9z1#
我假设这个库不是供RN使用的,通过将“DisplayType”设置为文本,库将返回导致此错误的元素中的值。这是库中的源代码
你可以试试这个库react-native-format-currency
waxmsbnn2#
如果你想在react native中使用这个包,你应该像下面这样设置renderText: