我有两个组件:
- 仪表板 - 应用程序的入口点
- 帖子
在 Dashboard 中,componentDidMount 中有一个 API 调用。 在帖子组件中,收到帖子后,我导航到仪表板。是否可以检测应用是否从 Posts 导航到 Dashboard 并删除 componentDidMount 中的 API 调用。
检查下面的代码:
// Dashboard.js
componentDidMount() {
this.handleApiCall(); // default axios get request
// Here I need to detect if the user was navigated to Dashboard from Posts or other component
}
// Posts.js
handleNavigation = () => {
this.setState({
isOpen: false,
});
this.props.navigation.navigate('Dashboard');
};
谢谢!
最佳答案
尝试从 Posts.js
传递参数
// Dashboard.js
componentDidMount() {
const { navigation } = this.props;
const fromPosts = navigation.getParam('fromPosts', false);
if(!fromPosts) {
this.handleApiCall(); // default axios get request
}
}
// Posts.js
handleNavigation = () => {
this.setState({
isOpen: false,
});
this.props.navigation.navigate('Dashboard', {fromPosts: true});
};
关于javascript - react 导航 : Detect to which screen the app was navigated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55384994/