[我正在尝试使Web视图将用户重定向到其他屏幕,只要用户单击WebView / iframe中的链接。
Screens.js
const AppStack = createBottomTabNavigator(
{
Ritual: {
screen: RitualScreen,
},
Home: {
screen: HomeScreen,
},
NewsFeed: {
screen: WallScreen,
path: 'newsfeed'
}...
const AppContainer = createAppContainer(
createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
App: {screen: AppStack, path: 'home'},
Auth: AuthStack
},
{
initialRouteName: 'AuthLoading',
}
)
);
export default AppContainer;
然后在RitualScreen
上,该页面是在应用加载时加载的页面。在Web视图中加载了调查。当用户单击FINISH
链接时,我希望将用户重定向到新闻源,例如:我以为是:
exp://localhost:19000/home/newsfeed
-但空路径(exp:// localhost:19000)之外的任何路径都将中断。我缺少什么?
我知道在生产环境中,我需要将域更改为myapp://之类的方案或使用自动更改uri中前缀的链接方法。
但是现在我只想在开发环境中运行它。
[我想我已经找到了解决方法-尽管令人讨厌的厚脸皮,哈哈
呈现Webview的屏幕...
20 render() {
21 return (
22
32 <WebView
33 onNavigationStateChange={
(e) => {
if(e.url == "https://www.google.com/") this.props.navigation.navigate("NewsFeed")
}
}
34 source={{ uri: 'https://s.surveyanyplace.com/ifermstiddd' }} style={styles.WebView} />
37 )
38 };
39 }
因此,本质上是在将要发生的重定向之前捕获到特定路径,并使用react导航器代替地转到应用程序内的屏幕。