反应原生“预取”数据?

用户.io

有没有办法在将数据显示在列表中之前已经加载数据?我们有一个 FlatList,它通过在 componentWillMount() 中执行获取来加载所有国家/地区,但这需要一秒钟来加载和呈现列表。有没有办法已经加载了这个数据,所以当这个列表被显示时(它当前在一个嵌套的堆栈导航器中),国家列表已经在那里了?我们确实考虑在根屏幕中加载它并将状态作为带有数据的道具向下传递,但感觉并不“正确”。

我有一种感觉,这是 Redux 有用的东西,但我们目前没有使用它。

谢谢大家!

黑精灵

在获取国家/地区时,您想显示什么?如果你根本不想要任何东西,你可以做这样的事情:

class Parent extends Component {
    componentWillMount() {
        fetch("example.com/countries")
            .then(res => res.json())
            .then(countries => this.setState({ countries }));
    }

    render() {
        const { countries } = this.state;
        return !countries ? null : <FlatList data={countries}/>;
    }
}

在 fetch 完成之前,render 方法将返回null并且 React 不会渲染任何东西。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章