我在 Firebase Functions 上部署了一个 NodeJS 应用程序,但我不知道如何使用 Redis 等缓存系统。
我在抽屉导航器中有一个嵌套的堆栈导航器,我不希望用户能够从左侧滑动并打开抽屉,因为它们不在堆栈导航器的第一页上。我找到了一些答案,但它们似乎使用了一些官方文档中未使用的旧语法。
// stack navigator
const Items = () => {
const IStack = createStackNavigator()
return (
<IStack.Navigator initialRouteName="Items" screenOptions={{ headerShown: false }} >
<IStack.Screen name="Items" component={ItemSelect} options={{ ...TransitionPresets.SlideFromRightIOS }} />
<IStack.Screen name="Item" component={ItemScreen} options={{ ...TransitionPresets.SlideFromRightIOS }} />
</IStack.Navigator>
)
}
// drawer
const App = () => {
return (
<NavigationContainer theme={MyTheme}>
<StatusBar barStyle="light-content" backgroundColor="#232931" />
<Drawer.Navigator initialRouteName="Items">
<Drawer.Screen name="Items" component={Items} />
</Drawer.Navigator>
</NavigationContainer>
)
}
Run Code Online (Sandbox Code Playgroud)
我想在堆栈导航器的第二个屏幕上禁用抽屉,即ItemScreen。
有许多类似的问题已得到解答,但没有一个使用最新的反应导航版本。我想在按后退按钮时从“文档”屏幕转到“主页”屏幕。这是我尝试过的,但它不起作用。
<NavigationContainer>
<Stack.Navigator initialRouteName="Home" screenOptions={{ headerShown : false }}>
<Stack.Screen name="Home" component={Home} />
<Stack.Screen name="Camera" component={CameraScreen} />
<Stack.Screen name="Document" component={Document} options={{
headerLeft: (props) => (<HeaderBackButton {...props} onPress={() => props.navigation.navigate("Home")}/>)
}} />
</Stack.Navigator>
</NavigationContainer>
Run Code Online (Sandbox Code Playgroud)
编辑以获得更多说明:我的应用程序从“主页”开始,然后转到“相机”,然后转到“文档”。现在,当我按下手机的后退按钮时,我不想在进入“文档”时返回“相机”,而是直接返回“主页”。根据文档,这是如何覆盖后退按钮。
<Screen
name="Home"
component={HomeScreen}
options={{
headerLeft: (props) => (
<HeaderBackButton
{...props}
onPress={() => {
// Do something
}}
/>
),
Run Code Online (Sandbox Code Playgroud)
}}/>;但我不知道如何使用上面的代码去“主页”。所以我搜索了类似的问题,其中大多数都有navigationOptions其他内容。我尝试遵循以下问题的答案。
import { HeaderBackButton } from 'react-navigation';
static navigationOptions = ({navigation}) => {
return{
headerLeft:(<HeaderBackButton onPress={()=>{navigation.navigate('A')}}/>)
}
Run Code Online (Sandbox Code Playgroud)
所以是的,即使我使用 console.log,后退按钮也没有响应