javascript - 反应原生未定义变量
问题描述
我在 react-native 上的变量有问题。当我显示我的变量console.log()
一切都很好时,我得到了它的内容。但是当我将它与map
我的变量一起使用时,它是未定义的。这是我的代码。
const ServiceAction = (props) => {
const { services } = props;
console.log("Services:", services)
return services.map((service, index) => {return <Text key={index}>{service.name}</Text>})
}
因此,当我将它与地图一起使用时,这里的服务是未定义的,但在我显示它时却没有。
我之前调用了我的函数。
const Dashboard: () => React$Node = (props) => {
// const [state, dispatch] = React.useReducer(userReducer, props.navigation.getParam("user"));
// const ip = props.navigation.getParam("ip");
const ip = "192.168.1.37";
const [state, dispatch] = React.useReducer(userReducer, initialStateUser);
const [services, setServices] = React.useState([]);
const [serviceAction, setServiceAction] = React.useState("Default");
React.useEffect(() => {
fetch(`http://${ip}:8080/about.json`)
.then((response) => {return response.json()})
.then((data) => setServices(data.server.services))
.catch((err) => console.log(err))
},[])
return (
<LinearGradient start={{x: 0, y: 0}} end={{x: 1, y: 1}} colors={['rgba(58,115,215,1)', 'rgba(44,120,215,1)', 'rgba(68,116,213,1)', 'rgba(47,105,191,1)', 'rgba(131,75,191,1)', 'rgba(198,98,237,1)']} style={styles.linearGradient}>
<Image style={{width: 400, height: 50}} source={require('../assets/logo.png')}/>
<ServiceAction services={services} />
</LinearGradient>
)
}
如果有人有想法...
编辑:
服务是 JSON 格式
Services = [{
name: 'toto'
}, {
name: 'titi'
}
]
解决方案
试试这样:
const ServiceAction = (props) => {
const { services } = props;
let testArray = []
console.log("Services:", services)
services.map((service, index) => {testArray.push(<Text key={index}>{service.name}</Text>)})
return testArray
}
推荐阅读
- firebird - SELECT 语句的字段列表中的参数 - 错误:数据类型未知
- amazon-web-services - NodePort 不适用于 AWS EKS 服务器终端节点
- javascript - Firestore set() 中的合并选项在 Node JS 中不起作用
- spring - Spring Integration 存储过程入站通道适配器
- google-apps-script - 在 Google Sheet App 脚本中查找值
- java - 如何通过jdbc运行sql的声明语句?
- windows - 如何使用 Windows 批处理查找名为“x”的所有子目录(任意数量的级别)
- javascript - 检查节点js中是否存在模块方法
- git - 两个克隆的 git 存储库与一个 Jenkins 作业一起使用
- php - (PHP) 在 for 循环中处理变量