0

我正在使用本机反应开发新闻应用程序,问题是启动时间花费了太多时间(最初加载大约 3 秒,主屏幕显示大约 5 秒)。我有 36 篇文章,json 响应很大(3000 行)。经过分析,我发现原因是解决获取文章的功能承诺的等待时间(在.then之后)。

获取文章的函数:

export async function getArticles(){

    try {
        let articles = await fetch(``);
        let result = await articles.json();
        return result;

    } catch (error) {
        throw error
    }
}

显示文章的 home.js 是:

export class HomeScreen extends PureComponent {
    constructor(props) {
        super(props);
        this.state = {
            isLoading: true,
            data: null,
            isError: false,
        }
    }
    componentDidMount() {
        getArticles().then(data => {
            this.setState({
                isLoading: false,
                data: data
            })
        }, error => {
            Alert.alert("Error", "Something happend, please try again")
        })
    }

我试图通过提取特定字段来简化响应正文,但没有区别,而且我不知道如何从 url 本身中仅获取简单数量的文章,例如 per_page 或其他...。您能否建议在等待 json 响应完成之前如何开始渲染?

4

0 回答 0