react-native - state.map 不是 React-Native 的函数
问题描述
我在项目中遇到问题,运行apk时出现以下错误:
state.map 不是不使用 .map 的 React-Native 函数。
编码:
import React, { useState, useEffect } from 'react';
import { Text, View, StyleSheet } from 'react-native';
import { Picker } from '@react-native-community/picker';
import axios from 'axios';
const Formulario = () => {
const [moneda, guardarMoneda] = useState('');
// este primer state de criptomoneda sirve para saber la seleccion del usuario
const [criptomoneda, guardarCriptomoneda] = useState('');
// este segundo muestra el estado de las 10 criptomonedas mas importantes
const [criptomonedas, guardarCriptomonedas] = useState('');
useEffect(() => {
const consultarApi = async () => {
const url = 'https://min-api.cryptocompare.com/data/top/totaltoptiervolfull?limit=10&tsym=USD';
const resultado = await axios.get(url);
guardarCriptomonedas(resultado.data.Data);
console.log(resultado.data.Data);
};
consultarApi();
}, []);
console.log(criptomonedas);
const obtenerMoneda = moneda => {
guardarMoneda(moneda);
};
const obtenerCriptoMoneda = cripto => {
guardarCriptomoneda(cripto);
};
});
在“return()”中,问题出现在“criptomonedas.map”中:
<Picker
selectedValue={criptomoneda}
onValueChange={cripto => obtenerCriptoMoneda(cripto)}>
<Picker.Item label="- Seleccione -" value=""/>
{criptomonedas.map(cripto => (
<Picker key={cripto.CoinInfo.Id} label={cripto.CoinInfo.FullName} value={cripto.CoinInfo.Name}/>
))};
</Picker>
解决方案
<Picker
selectedValue = {moneda}
onValueChange={ moneda => obtenerMoneda(moneda) }
itemStyle={{ height:120 }}
>
<Picker.Item label="- Seleccione -" value=''/>
{ ( criptomonedas || [] ).map( cripto=> ( <Picker.Item key={ cripto.CoinInfo.Id } label={ cripto.CoinInfo.FullName } value={ cripto.CoinInfo.Name }/>) ) }
</Picker>
推荐阅读
- java - 递归 - 将括号设置为字符串字符
- c# - Blazor - 集合上的双向绑定
- stm32 - 在启动 I²C 通信时,状态寄存器 SR1 立即复位
- curl - VS 2012 的 CURL(版本 v 110)
- python - 多目标 ARIMA 预测 Python
- flutter - 从 Flutter 中的 Firestore 集合中获取所有文档
- javascript - 如何遍历一个扁平的 JS 数组,将其变成嵌套的父/子结构?
- octave - 如何以编程方式关闭 Octave 编辑器?
- desktop - 使用桌面连接“暂停”命令
- excel - 在 VBA 中解析 SOAP XML 响应