Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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 我想从react native中的RSS中获取按发布日期排序的数据_Javascript_Reactjs_React Native_Rss_Fetch - Fatal编程技术网

Javascript 我想从react native中的RSS中获取按发布日期排序的数据

Javascript 我想从react native中的RSS中获取按发布日期排序的数据,javascript,reactjs,react-native,rss,fetch,Javascript,Reactjs,React Native,Rss,Fetch,我想从react native中的RSS中获取按发布日期排序的数据 我使用了以下代码: fetch('url here') .then((response) => response.text()) .then((responseData) => rssParser.parse(responseData)) .then((rss) => { this.setState({ description : rss.items, isLoadi

我想从react native中的RSS中获取按发布日期排序的数据

我使用了以下代码:

fetch('url here')
  .then((response) => response.text())
  .then((responseData) => rssParser.parse(responseData))
  .then((rss) => {
    this.setState({
      description : rss.items,
      isLoading : true
    });
    rss.items.map((value, index) => {
      this.setState({
        dateStack : this.state.description[index].published
      });
    });
  });
在这里,dateStack是按日期排序的数据数组 但是它没有得到排序的数据,只得到一个数据。。。 谁能帮我?
请让我知道如何执行此操作

不仅第一个
设置状态
异步且不可靠,无法立即引用
此.state.description
,而且
日期堆栈
只有一个数据点的原因是,您在映射的每次迭代中都会覆盖它。如果希望
dateStack
只是
rss.items
中每个元素的
published
属性的数组,则可以使用
map

.then((rss) => {
    this.setState({
        description: rss.items,
        isLoading: true,
        dateStack: rss.items.map(item => item.published)
    });
})

不仅第一个
setState
异步且不可靠,无法立即引用
this.state.description
,而且
dateStack
只有一个数据点的原因是,您在映射中的每次迭代中都会覆盖它。如果希望
dateStack
只是
rss.items
中每个元素的
published
属性的数组,则可以使用
map

.then((rss) => {
    this.setState({
        description: rss.items,
        isLoading: true,
        dateStack: rss.items.map(item => item.published)
    });
})

首先,映射是获取数据数组的一种很好的方法,但有时很难理解而不是使用它,请使用for loop映射数据。下面是实现这一点的简单方法

fetch('url here')
    .then((response) => response.text())
    .then((responseData) => rssParser.parse(responseData))
    .then((rss) => {

        var l_Data = [];
        for (var index = 0; index < rss.length; index++)
        {
            l_Data[index] = rss[index];
        }
        this.setState({
            description: l_Data,
            isLoading: true
        });
            this.setState({
                dateStack: l_Data;
            });

    });
fetch('url here')
.然后((response)=>response.text())
.then((responseData)=>rssParser.parse(responseData))
。然后((rss)=>{
var l_数据=[];
对于(var index=0;index
首先,映射是获取数据数组的一种很好的方法,但有时很难理解而不是使用它,请使用for loop来映射数据。下面是实现这一点的简单方法

fetch('url here')
    .then((response) => response.text())
    .then((responseData) => rssParser.parse(responseData))
    .then((rss) => {

        var l_Data = [];
        for (var index = 0; index < rss.length; index++)
        {
            l_Data[index] = rss[index];
        }
        this.setState({
            description: l_Data,
            isLoading: true
        });
            this.setState({
                dateStack: l_Data;
            });

    });
fetch('url here')
.然后((response)=>response.text())
.then((responseData)=>rssParser.parse(responseData))
。然后((rss)=>{
var l_数据=[];
对于(var index=0;index
setState
是异步的,所以你不能在映射方法中依赖
这个.state
setState
是异步的,所以你不能在映射方法中依赖
这个.state
。但是它没有结果。你确定每个
rss.items
元素都有一个
published
属性吗?我们无法看到您正在处理的数据结构,只能根据您提供的内容进行假设,但没有结果。您确定每个
rss.items
元素甚至都有一个
published
属性吗?我们无法看到您正在处理的数据结构,只能根据您提供的内容进行假设