React Native — undefined не является объектом (вычисление ‘number.toFixed’)

#javascript

#javascript

Вопрос:

Я новичок, у меня возникают проблемы с получением числового формата при передаче данных из flatList modal в. Здесь стоит упомянуть, что когда я форматирую в flatlist , у него нет ошибки, но при передаче в modal , происходит сбой.

>TypeError: undefined is not an object (evaluating 'number.toFixed')

Функции объявления

 const [{user}, dispatch] = useValueContext();
  const navigation = useNavigation();
  const [data, setData] = useState([]);
  const [modalVisible, setModalVisible] = useState(false);
  const [selectedItem, setSelectedItem] = useState([]);
  const [maxId, setMaxId] = useState('0');
  const [loading, setLoading] = useState(false);
  const [isListEnd, setIsListEnd] = useState(false);
  const [modalFilterVisible, setModalFilterVisible] = useState(false);
  const handleOnSelectItem = ({item}) => {
    setSelectedItem(item);
  };

  const handleOnCloseModal = () => {
    setSelectedItem([]);
  };
  

Модальная функция

 const ModalView = ({item}) =>{
    return(
      <Modal
        animationType="none"
        transparent={true}
        visible={modalVisible}
        onRequestClose={handleOnCloseModal}
      >
        <TouchableOpacity 
          style={styles.modal_content}
          activeOpacity={1}
          onPressOut={() => {setModalVisible(false)}}
        >
          <TouchableWithoutFeedback style={styles.modalView}>
            <View style={styles.modal_header}>
              <TouchableOpacity
                style={{
                  marginEnd: 5
                }}
                onPress={() => {
                  setModalVisible(!modalVisible); 
                }}
              >
                <FontAwesome5 name="times" size={16} />
              </TouchableOpacity>
            </View>
            <View style={styles.modal_body}>
              <View style={{}}>
                <Text style={styles.detail_content_name}>{item.MoneyAction_Name}</Text>
                <View style={styles.detail_content_status}>
                  <Text style={styles.detail_content_status_text}>{item.MoneyStatus_Name}</Text>
                </View>
                {item.Money_Value > 0 ? 
                  (<Text style={{color: '#56ab2f', fontSize: 17, textAlign: 'center'}}> {item.Money_Value.toFixed(1).replace(/d(?=(d{3}) .)/g, '$amp;,').replace(/./g, ' ').replace(/,/g, '.').replace(/ /g, ',')} {item.Money_Ticker}</Text>)
                  :(<Text style={{color: '#e41318', fontSize: 17, textAlign: 'center'}}>{item.Money_Value.toFixed(1).replace(/d(?=(d{3}) .)/g, '$amp;,').replace(/./g, ' ').replace(/,/g, '.').replace(/ /g, ',')} {item.Money_Ticker}</Text>)
                }
                <View style={{marginBottom: 16, marginTop: 16, borderStartColor: 'rgba(0,0,0,.1)', borderWidth: .3, alignItems:'stretch'}}>
                </View>
                <View style={styles.detail_list}>
                  <Text>Nguồn tiền</Text>
                  <Text>Ví {item.Money_Ticker}</Text>
                </View>
                {item.Money_PartnerGiftCode !== '' ? (
                  <View style={styles.detail_list}>
                    <Text>Mã nâng cấp</Text>
                    <Text>{item.Money_PartnerGiftCode}</Text>
                  </View>
                ): null}
                <View style={styles.detail_list}>
                  <Text>Phí giao dịch</Text> 
                  
                </View>
                <View style={styles.detail_list}>
                  <Text>Mã giao dịch</Text>
                  <Text>#632542</Text>
                </View>
                <View style={styles.detail_list}>
                  <Text>Thời gian</Text>
                  <Text>19/10/2020 23:21</Text>
                </View>
              </View>
            </View>
          </TouchableWithoutFeedback>
        </TouchableOpacity>
      </Modal>
    );
  }
  

Функция элемента:

 const Item = ({item}) => {
    return(
      <TouchableOpacity 
        style={styles.history_li}
        onPress={() => {
          handleOnSelectItem({item})
          setModalVisible(true)
        }}
      >
        <View style={styles.history_view}>
          <View style={styles.history_view_left}>
            <Text style={styles.history_view_left_name}>{item.MoneyAction_Name}</Text>
            <Text style={styles.history_view_left_time}>
              {new Date(item.Money_Time * 1000).getDate()}
              /{new Date(item.Money_Time * 1000).getMonth()}
              /{new Date(item.Money_Time * 1000).getFullYear()} {new Date(item.Money_Time * 1000).getHours()}
              :{new Date(item.Money_Time * 1000).getMinutes()}
              :{new Date(item.Money_Time * 1000).getSeconds()}
            </Text>
          </View>
          <View style={styles.history_view_right}>
            {item.Money_Value > 0 ? 
              (<Text style={styles.history_view_right_receive}> {item.Money_Value.toFixed(1).replace(/d(?=(d{3}) .)/g, '$amp;,').replace(/./g, ' ').replace(/,/g, '.').replace(/ /g, ',')}</Text>)
              :(<Text style={styles.history_view_right_pay}>{item.Money_Value.toFixed(1).replace(/d(?=(d{3}) .)/g, '$amp;,').replace(/./g, ' ').replace(/,/g, '.').replace(/ /g, ',')}</Text>)
            }
            <Text style={styles.history_view_right_currency}>{item.Money_Ticker}</Text>
          </View>
        </View>
      </TouchableOpacity>
    );
  }

  const _renderItem = ({item}) => {
    return(
      <Item item = {item} />
    );
  }
  

исполняемая функция

 return (
    <View style={styles.container}>
      <View style={{padding: 5, flexDirection: 'row', justifyContent:'space-between'}}>
        <View style={styles.HeaderScreen}>
          <Image
            style={styles.imgStyle}
            source={require('../assets/images/vietsmile.png')}
          />
          <Text style={styles.title}>Lịch sử</Text>
        </View>
        <View style={styles.bell}>
          <Ionicons name="ios-notifications" size={26} color="#596475" />
        </View>
        <View lightColor="#eee" darkColor="rgba(255,255,255,0.1)" />
      </View>
      <View style={{backgroundColor: '#f1f2f3'}}>
        <View style={styles.filter_menu}>
          <TouchableOpacity 
            style={styles.shop_filter}
            onPress={()=>{setModalFilterVisible(true)}}
          >
            <FontAwesome5 name="filter" size={16} color="#3696D9" />
            <Text style={{marginLeft: 3, color: '#3696D9',}}>Bộ lọc</Text>
          </TouchableOpacity>
        </View>
        <FlatList 
          data={data}
          renderItem={_renderItem}
          keyExtractor={item => item.Money_ID.toString()}
          ListFooterComponent={renderFooter}
        />
      </View>
      {selectedItem !== [] ? (
        <ModalView item={selectedItem} />
      ) : null}
      
      
    </View> 
  );
  

Пожалуйста, помогите мне