Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用React Navigation-React Native在所有屏幕中显示组件_Android_Ios_React Native_React Navigation - Fatal编程技术网

Android 使用React Navigation-React Native在所有屏幕中显示组件

Android 使用React Navigation-React Native在所有屏幕中显示组件,android,ios,react-native,react-navigation,Android,Ios,React Native,React Navigation,我希望使用react导航在每个屏幕中显示一个类似按钮(或react native action button)的组件 React Navigation在内部路线中是否有任何选项可以一次实现并在任何地方使用 注意:我不想在每个.js类中导入组件并在渲染中使用它 参考->在应用程序的每个屏幕中都像这样。 使用该按钮创建默认屏幕。每次当你想使用该按钮时,用该组件而不是视图包装你的所有项目。 例如,“DefaultScreen”是带有默认组件的视图。这样使用: render(){ <Defau

我希望使用react导航在每个屏幕中显示一个类似按钮(或react native action button)的组件

React Navigation在内部路线中是否有任何选项可以一次实现并在任何地方使用

注意:我不想在每个.js类中导入组件并在渲染中使用它

参考->在应用程序的每个屏幕中都像这样。
使用该按钮创建默认屏幕。每次当你想使用该按钮时,用该组件而不是视图包装你的所有项目。 例如,“DefaultScreen”是带有默认组件的视图。这样使用:

render(){
  <DefaulScreen>
    {AllOtherItems}
  </DefaulScreen>
}
render(){
{AllOtherItems}
}
在DefaultScreen中,按如下方式呈现所有子对象:

class DefaultScreen extends Component {
  render(){
    <View>
     {this.props.children}
     {defaultComponentThatYouWantToPutWithCustomStyle}
    </View>
  }
}
class DefaultScreen扩展组件{
render(){
{this.props.children}
{要使用CustomStyle输入的默认组件}
}
}

您可以将主应用程序导航器放在容器组件中。此容器组件可以包含您的组件,该组件将显示在每个屏幕上。

在导航容器中,按如下方式添加它`

  <NavigationContainer>
    <Stack.Navigator initialRouteName="SplashScreen">
     ...
    </Stack.Navigator>
    
    <Button /> // add your component here. It will be visible in all screens
  </NavigationContainer>

...
//在这里添加您的组件。它将在所有屏幕中可见

我仍然需要将DefaultScreen组件导入到我的每个文件中,并且还需要在现有类中将视图替换为DefaultScreen。我之前已经这样做了,但我正在React导航中搜索类似“headerLeft”和“headerRight”的属性。我不需要在组件类中单独编写任何内容。如果在应用程序中使用react导航。你可以设置一次标题并在任何地方使用它。我不想在标题中使用浮动操作按钮。先生,你知道如何在任何屏幕上动态更改按钮组件的道具吗?你是否尝试在不同屏幕上更改此按钮组件的道具。如果是这样,我只能考虑通过在不同的屏幕中使用发射器并在按钮组件中接收发射器并相应地渲染按钮来实现这一点。但我建议您不要使用这种方法(除非您的情况特殊),因为这会减慢应用程序的速度,使其变得不平滑。我正在寻找一种方法(例如):从任何屏幕或组件隐藏/显示按钮。目前我正在尝试使用redux实现它