如何在 React 中访问数组值?
2021-03-13
1859
我有一个数组
categoryDataString
[{"ID":"1","Category":"first"},
{"ID":"2","Category":"second"},
{"ID":"3","Category":"third"}]
我想从数组中访问特定值。比如第二个类别的名称。
我试过 第一个
console.log(categoryDataString[0].ID)
结果
undefined
第二个
console.log(categoryDataString)
结果
[{"ID":"1","Category":"first"},{"ID":"2","Category":"second"},{"ID":"3","Category":"third"}]
这是我的代码
const categoryDataString = JSON.stringify(categoryData)
const categoryData = useCategoryData()
useEffect(() => {
setDataLoad(DataLoaded + 1)
setSelected(categoryDataString.Category)
console.log(categoryDataString[0].ID)
console.log(categoryDataString)
}, [categoryData])
这是我的 Itemdata.js
import React, { useState, useEffect } from 'react'
import { View, Text, StyleSheet } from 'react-native'
export const useCategoryData = (props) => {
const [Category, setCategory] = useState('')
useEffect(() => {
fetch('https://www.amrutras.com/Category.php')
.then((response) => response.json())
.then((responseJson) => {
{
setCategory(responseJson)
// responseJson.map((item) => Alert.alert(item.Name))
}
// Showing response message coming from server after inserting records.
})
.catch((error) => {
console.error(error)
})
}, [])
return Category
}
export default useCategoryData
1个回答
我认为您得到未定义的值是因为 categoryDataString 是一个字符串。因此您需要将其转换为对象,然后按如下方式访问属性:
const categoryDataObject = JSON.parse(categoryDataString);
console.log(categoryDataObject[0].ID)
您也可以尝试访问 categoryData,而不需要首先将其转换为 json 字符串,因此:
console.log(categoryData[0].ID)
jeremy302
2021-03-13