【发布时间】:2020-10-24 08:13:43
【问题描述】:
在我的 React Native 应用程序中,我有一个 screenA,它有一个按钮可以将我带到 screenB。 screenB 需要必须通过 API 调用从服务器获取的数据(this.props.fetchData(param1, param2)。我在screenA 上有param1 和param2。
现在,我这样做的方式是将param1 和param2 作为导航参数从screenA 传递到screenB,然后当screenB 挂载时,我调用this.props.fetchData。
所以我的代码是:
屏幕A
this.props.navigation.navigate('screenB', {param1, param2});
屏幕B
componentDidMount() {
this.props.fetchData(this.props.navigation.state.params.param1, this.props.navigation.state.params.param2);
}
我想知道的:
是否有任何理由从screenA 调用this.props.fetchData()?资源保存在 Redux 存储中,因此无论我从哪里加载它们都可以从 screenB 访问。我的代码如下所示:
屏幕A
this.props.fetchData(param1, param2);
this.props.navigation.navigate('screenB', {param1, param2});
屏幕B
<nothing>
我可以想象到的好处是,由于导航到 screenB 需要有限的时间,如果我在导航到它之前开始加载资源,用户就不必等待很长时间screenB 在资源加载之前。 缺点是,如果导航到 screenB 的调用不起作用,资源将被加载。
有人知道选择一种方法而不是另一种方法的任何理由吗?
【问题讨论】:
标签: javascript reactjs react-native redux react-redux