Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 进入Spotify阵列_Javascript_Arrays_Reactjs_Api_React Native - Fatal编程技术网

Javascript 进入Spotify阵列

Javascript 进入Spotify阵列,javascript,arrays,reactjs,api,react-native,Javascript,Arrays,Reactjs,Api,React Native,我正在尝试使用Spotify API并进入阵列 const App = () => { const [isLoading, setIsLoading] = useState(true); const [dataSource, setDataSource] = useState(); useEffect(() => { return fetch("https://api.spotify.com/v1/me/albums?offset=0&limit=5",

我正在尝试使用Spotify API并进入阵列

const App = () => {
  const [isLoading, setIsLoading] = useState(true);
  const [dataSource, setDataSource] = useState();

  useEffect(() => {
    return fetch("https://api.spotify.com/v1/me/albums?offset=0&limit=5", {
      method: "GET",
      headers: {
        Accept: "application/json",
        "Content-Type": "application/json",
        Authorization:
          "Bearer AUTH CODE "
      }
    })
      .then(response => response.json())
      .then(responseJson => {
        setIsLoading(false);
        // console.log(responseJson);

        // let result = Object.values(responseJson); // if I want to convert it in array
        let result = responseJson
        setDataSource(result);

      });
    }, []);


    console.log(dataSource);
我得到一个物体

{href: "https://api.spotify.com/v1/me/albums?o`enter code here`ffset=0&limit=5", items: Array(5) ...}
我想进入项目,但当我这样做

console.log(dataSource.items);

我明白了

Cannot read property 'items' of undefined
有什么想法吗?
我的错误在哪里?

默认情况下,
数据源
状态为
未定义
,您需要将默认值更改为具有
属性。
fetch
正在异步处理
then
,因此数据将在几毫秒后到达,在此期间,代码尝试访问缺少的
属性

您可以尝试进行不同的初始化,如下所示:

const [dataSource, setDataSource] = useState({ items: [] });

我希望这有帮助

你的解决方案非常有效。现在如果我使用
const data=Object.values(dataSource).map(function(item){return{item:item,{dataSource[item]};})
并且如果我使用
console.log(data[1])
我得到
item:Array(5)}item:(5)[{…},{…},{…},{…},{…},{…},{…},{…}]
但是我不知道如何进入它来获取值。有什么想法吗?
const [dataSource, setDataSource] = useState({ items: [] });