reactjs - react 导航全局 FAB

标签 reactjs react-native react-navigation floating-action-button

我正在使用 react-navigation v5 并最终得到 App.js像这样

const MainStack = createStackNavigator();

export default () => (
  <NavigationNativeContainer>
    <MainStack.Navigator
      screenOptions={{
        header: () => <AppbarHeader />,
      }}
    >
      <MainStack.Screen name="index" component={index} />
      <MainStack.Screen name="alternate" component={alternate} />
    </MainStack.Navigator>
  </NavigationNativeContainer>
);

我想添加一个 float 操作(FAB)按钮,它会在 index 的底部可见和 alternate允许用户显示当前省略的模态的页面。现在我觉得唯一的解决方案是将我的 FAB 组件放在 index 中。和 alternate组件,但这似乎不对,因为它不应该重新渲染和过渡到页面。它应该漂浮在页面过渡上方。我觉得它应该更像是某种全局导航器,但我不确定它应该如何与上面显示的现有 StackNavigator 一起使用。

我期待着提供任何解决方案。

最佳答案

正如@satya164 所指出的,您可以将 FAB 放在根组件中。另外,到access to navigation actions ,您可以使用导航容器的引用。

const App = () =>{
  const ref = React.useRef(null);

  return (
  <>
    <NavigationNativeContainer ref={ref}>
      // ...
    </NavigationNativeContainer>
    <FAB onPress={() => ref.current && ref.current.navigate('A SCREEN')}/>
  </>
);

关于reactjs - react 导航全局 FAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59385469/

相关文章:

reactjs - React.js 建议直接将 `props` 分配给状态

reactjs - React 中组合优于继承的好处

javascript - 映射基于 Prop 名称的数组,ReactJS

javascript - 在 React 中,你如何检查是否至少选中了一个复选框

javascript - 使用另一个类的数据

javascript - 在两个对象之间画一条垂直线

reactjs - 我们可以将sectionList(或scrollView)的粘性标题粘贴到 ScrollView 顶部的相对位置吗?

react-native - 如何使用 One Signal 在 React Native 中打开通知时导航屏幕?

javascript - 退出抽屉内的子堆栈导航器时如何使用 react 导航转到 initialRoute?

javascript - 在 React Navigation 中将 Prop 传递给自定义抽屉导航器